我正在尝试使用以下命令将数据框中的记录插入到hive表中。命令成功但目标表未加载记录。
mergerdd.write.mode("append").insertInto("db.tablename")
我希望将记录加载到hive表中。
请检查我的解决方案。它对我有用。
df.repartition(1).write.format("csv").insertInto('db.tablename',overwrite=True) # CSV
df.repartition(1).write.format("orc").insertInto('db.tablename',overwrite=True) # ORC
df.repartition(1).write.format("parquet").insertInto('db.tablename',overwrite=True) #PARQUET
这种方式适用于我通过spark.sql
df.coalesce(#numberofoutputfile).createOrReplaceTempView(#temptablename)
spark.sql(f"insert into {db}.{tablename} select * from {temptablename}")
还有mergerdd
是rdd还是spark数据帧?
这是实现您想要实现的目标的另一种方式:
df.write.mode("append").saveAsTable("db.tablename")
我一直使用这个没有任何问题。希望有所帮助。