【问题标题】:Spark export to TeradataSpark 导出到 Teradata
【发布时间】:2018-01-16 03:19:04
【问题描述】:

我正在尝试通过 Spark 将数据从 HDFS 复制到 Teradata。通过 Spark-shell 运行时出现 UnknownHostException。我在通过 spark 提交运行相同的程序时找不到 teradata.main(我也使用 spark 提交添加了 teradata jars)。 Sqooping 时,相同的 Teradata 连接 URL 和凭据运行良好。

我已将 teradata jar 添加到执行程序和驱动程序类路径以及 sparkdefaults.conf 中。 请在下面找到我的 Spark Teradata 连接代码,

val jdbcDF = sqlContext.load("jdbc", Map("url" -> "jdbc:teradata://teradataservername, user=***###, password=***###","dbtable" -> "query","driver" -> "com.teradata.jdbc.TeraDriver"))

请找到我在从 spark-shell 运行时得到的异常,如下所示,

TERAJDBC4 错误 [主要] com.teradata.jdbc.jdk6.JDK6_SQL_Connection@219f9031 连接到 (teradata 服务器),TMODE=TERA,用户名=###,密码=### Sun Aug 06 22:43:40 EDT 2017 套接字 orig=(teradata 服务器),TMODE=TERA, 用户名=###, 密码=### cid=742ff968 sess=0 java.net.UnknownHostException: (teradata 服务器), TMODE=TERA, 用户名=###,密码=###:未知错误 java.net.Inet6AddressImpl.lookupAllHostAddr(Native Method) 在 java.net.InetAddress$2.lookupAllHostAddr(InetAddress.java:928) 在 java.net.InetAddress.getAddressesFromNameService(InetAddress.java:1323) 在 java.net.InetAddress.getAllByName0(InetAddress.java:1276)

【问题讨论】:

  • 您是否同时运行了 sqoop 和 spark 作业,并且 sqoop 成功而 spark 失败?
  • 不,实际上是为了确保 Teradata 连接详细信息正确无误。我已经通过 sqoop 尝试过,效果很好。

标签: scala apache-spark teradata connector


【解决方案1】:

尝试以下解决方案,看看它是否适合您:

sc.addJar("/jar/dir/yourDriver.jar")

val jdbcDF = sqlContext.load("jdbc", Map(
  "url" -> "jdbc:teradata://<server_name>, TMODE=TERA, user=my_user, password=*****",
  "dbtable" -> "your query",
  "driver" -> "com.teradata.jdbc.TeraDriver"))

【讨论】:

  • sc.addJar("jar") ,我已经在代码中有这一行。但它仍然在通过 spark-shell 运行时抛出 unknownhostexception
  • 我已经尝试了通过谷歌找到的所有措施。但问题仍然存在
猜你喜欢
  • 1970-01-01
  • 2015-07-17
  • 2015-03-25
  • 2013-01-09
  • 1970-01-01
  • 2015-09-25
  • 2016-11-15
  • 1970-01-01
  • 2017-11-20
相关资源
最近更新 更多