我在ipython笔记本中使用pyspark并访问netezza数据库。我正在尝试在bluemix上做类似的事情。问题是,为了能够访问netezza,我必须向pyspark启动添加参数。我怎么能在bluemix上做到这一点?以下是我如何开始独立的pyspark:
$ PYSPARK_DRIVER_PYTHON=ipython PYSPARK_DRIVER_PYTHON_OPTS="notebook" /usr/local/src/spark/spark-1.6.1-bin-hadoop2.6/bin/pyspark --packages com.ibm.SparkTC:spark-netezza_2.10:0.1.1 --driver-class-path /usr/local/src/netezza/jdbc/lib/nzjdbc3.jar
答案 0 :(得分:1)
您无法更改在Bluemix上启动PySpark
的参数。
%AddJar
内核魔法仅适用于Scala笔记本。
它不适用于Python笔记本。
必须在服务上提供并支持Netezza nzjdbc3.jar
的驱动程序才能使用它。目前,用户无法做到这一点。
更新:
开箱即用不支持 nzjdbc3.jar
。您可以通过电子邮件提交反馈并要求支持驱动程序。
为PySpark
启用驱动程序的另一种可能性是将jar放入一个将被考虑用于PySpark配置的位置。
首先,使用以下命令找出您的USER_ID:
!whoami
然后,获取nzjdbc3.jar
并将其放到以下位置:
/gpfs/fs01/user/USER_ID/data/libs
将nzjdbc3.jar
放入上述位置的一种方法是使用wget
:
!wget URI_TO_JAR_FILE -P /gpfs/fs01/user/USER_ID/data/libs
将驱动程序jar下载到上述位置后,必须重新启动内核。在创建新内核期间,将在PySpark
中考虑上述位置中的所有文件。