如何将sparkDataframe写入impala数据库

rqcrx0a6  于 2021-06-26  发布在  Impala
关注(0)|答案(1)|浏览(522)

我使用以下代码通过jdbc连接将sparkDataframe写入impala。

df.write.mode("append").jdbc(url="jdbc:impala://10.61.1.101:21050/test;auth=noSasl",table="t_author_classic_copy", pro)

但是我得到以下错误:java.sql.sqlexception:找不到合适的驱动程序
然后我改变模式:

df.write.mode("overwrite").jdbc(url="jdbc:impala://10.61.1.101:21050/test;auth=noSasl",table="t_author_classic_copy", pro)

但它仍然得到一个错误:

CAUSED BY: Exception: Syntax error
), Query: CREATE TABLE t_author_classic_copy1 (id TEXT NOT NULL, domain_id TEXT NOT NULL, pub_num INTEGER , cited_num INTEGER , rank DOUBLE PRECISION ).
siotufzp

siotufzp1#

这对我很有用:
spark shell--驱动程序类路径impalajdbc41.jar--jars impalajdbc41.jar

val jdbcURL = s"jdbc:impala://192.168.56.101:21050;AuthMech=0"

val connectionProperties = new java.util.Properties()

import org.apache.spark.sql.SaveMode

sqlContext.sql("select * from my_users").write.mode(SaveMode.Append).jdbc(jdbcURL, "users", connectionProperties)

相关问题