首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在写入Impala时自动创建Impala表的Dataframe

在写入Impala时自动创建Impala表的Dataframe
EN

Stack Overflow用户
提问于 2018-06-22 22:49:01
回答 2查看 2.2K关注 0票数 0

我想知道Spark Dataframe保存是否有任何功能,即当它将数据写入Impala表时,它也会创建该表,而该表之前不是在Impala中创建的。

例如,代码:

代码语言:javascript
复制
myDataframe.write.mode(SaveMode.Overwrite).jdbc(jdbcURL, "books", connectionProperties)

如果表不存在,则应该创建表。

表模式应根据数据帧模式确定。

我期待着您的建议/想法。

致以敬意,弗洛林

EN

回答 2

Stack Overflow用户

发布于 2018-06-25 22:10:47

在过去,我使用相关的DDL通过mutateStatement.execute创建表。我用SPARK 2.x检查了一下,append也自动创建了它。Sp append是您所需要的全部。

对于JDBC:

代码语言:javascript
复制
jdbcDF.write.mode("append").jdbc(url, table, prop) 

对于通过SPARK 2.x自动配置单元上下文的配置单元:

代码语言:javascript
复制
x.write.mode("append").saveAsTable("a_hive_table_xx") 
票数 0
EN

Stack Overflow用户

发布于 2018-06-25 23:58:17

代码语言:javascript
复制
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)

代码语言:javascript
复制
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

火花外壳--驱动程序类路径

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/50990540

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档