Apache spark 在Spark集群中分发下载

Apache spark 在Spark集群中分发下载,apache-spark,pyspark,spark-dataframe,Apache Spark,Pyspark,Spark Dataframe,在Spark中,最好的实施方式是什么: def read_json(url): resp = requests.get(url) resultRDD = sc.parallelize(json.loads(resp.content)) df = jsonRDD.toDF() hiveContext.createDataFrame(resultRDD, df.schema).registerTempTable("tmp_tbl_1") hiveContext.sql("INSE

在Spark中,最好的实施方式是什么:

def read_json(url):
  resp = requests.get(url)
  resultRDD = sc.parallelize(json.loads(resp.content))
  df = jsonRDD.toDF()
  hiveContext.createDataFrame(resultRDD, df.schema).registerTempTable("tmp_tbl_1")
  hiveContext.sql("INSERT INTO TABLE `sc1`.`tbl_data` SELECT * FROM tmp_tbl_1")

urlsRDD = sc.parallelize(["valid-url1.json","valid-url2.json","valid-url3.json"])
urlsRDD.map(read_json)
如何在集群上分发
请求.get(url)

如何在地图上使用SparkContext/HiveContext/xContext函数

如何在地图上使用SparkContext/HiveContext/xContext函数

你不能。无法访问工作程序上的
SparkContext
/
SQLContext

如何在集群上分发requests.get(url)

根据逻辑,你不应该这样做。由于insert不是幂等的,所以任何失败都会导致表的状态不一致。这是高粒度任务管理器(如芹菜)或工作流管理器(如Luigi或Airflow)的工作