我想知道Spark Dataframe保存是否有任何功能,即当它将数据写入Impala表时,它也会创建该表,而该表之前不是在Impala中创建的。
例如,代码:
myDataframe.write.mode(SaveMode.Overwrite).jdbc(jdbcURL, "books", connectionProperties)如果表不存在,则应该创建表。
表模式应根据数据帧模式确定。
我期待着您的建议/想法。
致以敬意,弗洛林
发布于 2018-06-25 22:10:47
在过去,我使用相关的DDL通过mutateStatement.execute创建表。我用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") 发布于 2018-06-25 23:58:17
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)使用命令传递驱动程序jar
火花外壳--驱动程序类路径
https://stackoverflow.com/questions/50990540
复制相似问题