如何将火花数据帧写入impala数据库

时间:2016-08-19 13:30:29

标签: jdbc apache-spark-sql impala

我使用以下代码通过JDBC连接将spark数据帧写入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 ).

1 个答案:

答案 0 :(得分:0)

这对我有用:

spark-shell --driver-class-path 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)