我需要建立一个从hadooplinux环境到redshift数据库的jdbc连接。我试过在shell中设置env变量,并通过设置下面的环境变量来启动sqoop,但没有成功。
$export socks_proxy=hostName
$export http_proxy=hostName
$export http_proxyPort=1080
$export https_proxy=hostName
$export https_proxyPortName=1080
$export socksProxyHost=hostName
尝试从spark shell设置并从shell运行jdbc连接,但都不起作用这里是我的spark shell和jdbc连接字符串spark shell--conf“spark.driver.extrajavaoptions=-dsocks.proxyhost=hostname--jars redshiftjdbc42-1.2.7.1003.jar,spark-redshift_2.10-1.0.jar,spark-redshift_2.10-2.0.jar
val df = sqlContext.load("jdbc", Map("url" ->
"jdbc:redshift://RedShiftHostName:Port/databaseName?ssl=true&sslfactory=com.amazon.redshift.ssl.NonValidatingFactory&user=UNAME&password=PASSWORD", "dbtable" -> "(select * from information_schema.tables) tmp", "driver" -> "com.amazon.redshift.jdbc.Driver"));`
这是我从sqoop和spark得到的常见错误
不确定我是不是从spark/sqoop做错了什么?我能知道是否有其他方法可以从shell脚本运行jdbc而不利用hadoop echo系统吗?可能是用一些java代码通过shell?
提前谢谢,谢谢你的回答和例子。
暂无答案!
目前还没有任何答案,快来回答吧!