Scala 调用普通https url 10亿次的有效方法

Scala 调用普通https url 10亿次的有效方法,scala,amazon-web-services,apache-spark,url,https,Scala,Amazon Web Services,Apache Spark,Url,Https,我最近一直在研究一个场景,在这个场景中,我需要通过点击一个简单的https url,将一组大数据(约10亿)逐一传递给特定的客户端,例如:https://www.example.com/field1="";field2=“” 这里的field1和field2将包含数据,这些数据将被发送。我一直在尝试使用spark scala实现该解决方案,通过利用固有的并行计算体系结构来加速该过程,但该解决方案并不完全符合标准 import java.net.URL import java.io._ impor

我最近一直在研究一个场景,在这个场景中,我需要通过点击一个简单的https url,将一组大数据(约10亿)逐一传递给特定的客户端,例如:
https://www.example.com/field1="";field2=“”

这里的
field1
field2
将包含数据,这些数据将被发送。我一直在尝试使用spark scala实现该解决方案,通过利用固有的并行计算体系结构来加速该过程,但该解决方案并不完全符合标准

import java.net.URL
import java.io._
import javax.net.ssl.HttpsURLConnection

val counter = spark.sparkContext.longAccumulator

val df = spark.read.table("")
df .repartition(1000).rdd.foreachPartition (

           part => {

                 part.foreach( row => {
                      val ID = row.getAs[String]("id")
                      val EXTID = row.getAs[String]("externId")
                      val httpsURL = "https://www.hello.com/activityi;dc_pre=CLzntvL5ueQCFZmsdwoddOwChw;src=6038155;type=neus;cat=ckt_b0;u100="+EXTID+";dc_lat=;dc_muid="+ID+";tag_for_child_directed_treatment=;tfua=;npa=;ord=1?"
                      val myURL:URL = new URL(httpsURL)
                      val  conn:HttpsURLConnection= myURL.openConnection().asInstanceOf[HttpsURLConnection]
                      conn.connect()
                      if(conn.getResponseCode >= 200  && conn.getResponseCode() <=400){
                           counter.adad(1)
                      }
                      else{}
                      conn.disconnect()
                 })
           }
)
import java.net.URL
导入java.io_
导入javax.net.ssl.HttpsURLConnection
val计数器=spark.sparkContext.LongAccounter
val df=spark.read.table(“”)
df.repartition(1000).rdd.foreachPartition(
部分=>{
part.foreach(行=>{
val ID=row.getAs[String](“ID”)
val EXTID=row.getAs[String](“externId”)
val httpsURL=”https://www.hello.com/activityi;dc_pre=clzntvl5ueqcfzmsdwodowchw;src=6038155;type=neus;cat=ckt_b0;u100=“+EXTID+”;dc_lat=;dc_muid=“+ID+”;用于儿童指导治疗的标签=;tfua=;npa=;ord=1?”
val myURL:URL=新URL(httpsURL)
val conn:HttpsURLConnection=myURL.openConnection().asInstanceOf[HttpsURLConnection]
连接

如果(conn.getResponseCode>=200&&conn.getResponseCode()您使用的是AWS EMR还是您自己的自我管理群集?@hephalump,我在这里使用的是EMR,在这方面,您能建议使用任何特定的任务/核心节点来支持此类使用吗