【发布时间】: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