Apache spark Dataframe在写入Impala时自动创建Impala表
我想知道Spark Dataframe保存是否有任何功能,即当它将数据写入Impala表时,它也会在Impala中以前未创建该表时创建该表 例如,代码:Apache spark Dataframe在写入Impala时自动创建Impala表,apache-spark,apache-spark-sql,impala,Apache Spark,Apache Spark Sql,Impala,我想知道Spark Dataframe保存是否有任何功能,即当它将数据写入Impala表时,它也会在Impala中以前未创建该表时创建该表 例如,代码: myDataframe.write.mode(SaveMode.Overwrite).jdbc(jdbcURL, "books", connectionProperties) 如果表不存在,则应创建该表 应根据dataframe架构确定表架构 我期待着您的建议/想法 问候,, Florin我过去通过mutateStatement创建了表。使用
myDataframe.write.mode(SaveMode.Overwrite).jdbc(jdbcURL, "books", connectionProperties)
如果表不存在,则应创建该表
应根据dataframe架构确定表架构
我期待着您的建议/想法
问候,,
Florin我过去通过mutateStatement创建了表。使用相关DDL执行。我使用SPARK 2.x进行了检查,append也自动创建了它。Sp append是您所需要的全部 对于JDBC:
jdbcDF.write.mode("append").jdbc(url, table, prop)
对于通过SPARK 2.x自动配置单元上下文的配置单元:
x.write.mode("append").saveAsTable("a_hive_table_xx")
或
用命令传递驱动程序jar
spark shell—驱动程序类路径
谢谢你的回答。“用户”和“诱惑”表以前是在Impala中创建的?或者它们是由火花瞬间产生的?你在测试什么版本的火花和黑斑羚?我想知道这一点,我相信我的答案是正确的。如果不是的话,那我就吃我的帽子。也许我会有一个主意来遵循SO和look的协议
import org.apache.spark.sql.SaveMode
val jdbcURL = s"jdbc:impala://192.168.10.555:21050;AuthMech=0"
val connectionProperties = new java.util.Properties()
sqlContext.sql("select * from temp_table").write.mode(SaveMode.Append).jdbc(jdbcURL, "users", connectionProperties)
df.write.mode("append").jdbc(url="jdbc:impala://192.168.10.555:21050/test;auth=noSasl",table="tempTable", pro)
df.write.mode("overwrite").jdbc(url="jdbc:impala://192.168.10.555:21050/test;auth=noSasl",table="tempTable", pro)