2017-08-08 27 views
0

我试图通过Spark将数据从HDFS复制到Teradata。在运行Spark-shell时遇到UnknownHostException。我在通过spark submit运行相同时发现teradata.main没有找到(我已经添加了teradata jars以及spark提交)。 当Sqooping时,相同的Teradata连接URL和凭据可以正常工作。Spark导出到Teradata

我已经将teradata jar添加到执行程序和驱动程序类路径中,并且也在sparkdefaults.conf中。 请找我的星火Teradata的连接如下面的代码,

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

请找我EXCETION,我从火花外壳下面运行时得到的,

TERAJDBC4错误[主] com.teradata。 [email protected]连接到 (Teradata的服务器),TMODE = TERA,用户名= ###,密码= ###日8月6日22时43分四十零秒 2017年美国东部时间插座原稿=(Teradata数据服务器),TMODE = TERA, 用户名= ###,密码= ### CID = 742ff968 SESS = 0 的java.net.UnknownHostException:(Teradata的服务器),TMODE = TERA, 用户名= ###,密码= ###:在 java.net.Inet6AddressImpl.lookupAllHostAddr(本机方法)在 java.net.InetAddress中的$ 2.lookupAllHostAddr(InetAddress.java:928)在 java.net.InetAddress.getAddressesFromNameService(InetAddress.java未知错误:1323) at java.net.InetAddress.getAllByName0(InetAddress.java:1276)

+0

你运行sqoop和火花的工作和sqoop成功,而失败的火花? – philantrovert

+0

不,实际上是为了确保Teradata连接详细信息是正确的。我已经通过sqoop尝试过,它工作正常。 –

回答

0

请尝试以下解决方案,看看它是否适合你:同时

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")) 
+0

sc.addJar(“jar”),我已经在代码中有这一行。但它仍然在运行spark-shell时抛出unknownhostexception –

+0

我尝试了通过Google找到的所有措施。但问题仍然存在 –

+0

你能分享所有的代码行吗? –