以追加模式将 DF 插入 Hive 内部表的正确方法是什么?看来我们可以使用“saveAsTable”方法直接将 DF 写入 Hive 或将 DF 存储到临时表然后使用查询。
df.write().mode("append").saveAsTable("tableName")
OR
df.registerTempTable("temptable")
sqlContext.sql("CREATE TABLE IF NOT EXISTS mytable as select * from temptable")
第二种方法会追加记录还是覆盖它?
还有其他方法可以有效地将 DF 写入 Hive 内部表吗?
这里的两个选项都不适合我/自从写完答案后可能已经贬值了。
据最新消息火花 API 文档 https://spark.apache.org/docs/latest/api/scala/index.html#org.apache.spark.sql.DataFrameWriter(对于 Spark 2.1),它使用insertInto()
方法从DataFrameWriter
class
我正在使用Python PySpark API http://spark.apache.org/docs/2.1.0/api/python/pyspark.sql.html#pyspark.sql.DataFrameWriter但在 Scala 中也是一样的:
df.write.insertInto(target_db.target_table,overwrite = False)
以上对我有用。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)