【发布时间】:2017-11-14 19:43:05
【问题描述】:
我正在使用PySpark 将 2 个数据帧从 Spark 直接写入 Hive。第一个df只有一行7列。第二个 df 有 20M 行和 20 列。写 1 个 df(1row) 需要 10 分钟,而在第二个 DF 中写 1M 行需要大约 30 分钟。不知道写完整个20M需要多长时间,代码还没写完就杀了。
我尝试了两种方法来编写 df。我还缓存了 df 以查看它是否会使写入更快但似乎没有任何效果:
df_log.write.mode("append").insertInto("project_alpha.sends_log_test")
第二种方法
#df_log.registerTempTable("temp2")
#df_log.createOrReplaceTempView("temp2")
sqlContext.sql("insert into table project_alpha.sends_log_test select * from temp2")
在第二种方法中,我尝试同时使用registerTempTable() 和createOrReplaceTempView(),但运行时间没有区别。
有没有办法更快或更有效地编写它。谢谢。
【问题讨论】:
标签: apache-spark hive pyspark