0

我是 Big Insights 的新手。我正在使用 Cloud 4.1、Ambari 2.2.0 和 Spark 1.6.1 上的 BigInsigths 连接是在 scala 还是 python 中并不重要,但我需要使用 spark 进行数据处理,然后将其持久保存在 BigSql 中。这可能吗?提前致谢。

4

2 回答 2

0

检查 syshadoop.execspark 以了解如何执行 Spark Jobs 并以表格式返回输出,之后您可以插入表或与其他表连接。

https://www.ibm.com/support/knowledgecenter/en/SSPT3X_4.3.0/com.ibm.swg.im.infosphere.biginsights.db2biga.doc/doc/biga_execspark.html

SELECT *
  FROM TABLE(SYSHADOOP.EXECSPARK(
    class    => 'DataSource',
    format   => 'json',
    uriload  => 'hdfs://host.port.com:8020/user/bigsql/demo.json'
    )
  ) AS doc
  WHERE doc.country IS NOT NULL
  LIMIT 5
于 2017-06-12T11:01:32.327 回答
0

以下是在 BigInsights 中使用 jdbc 通过 PySpark 连接 BigSQL 的步骤——

1.将db2jcc4.jar(IBM驱动连接BigSQL,可以从http://www-01.ibm.com/support/docview.wss?uid=swg21363866下载)放到python库中。

2.在spark-defaults.conf文件(位于你的spark安装的conf文件夹)中添加jar文件路径 spark.driver.extraClassPath /usr/lib/spark/python/lib/db2jcc4.jar spark.executor.extraClassPath /usr/lib/spark/python/lib/db2jcc4.jar

或者

使用 jar 路径启动 Spark Shell -- pyspark --jars /usr/lib/spark/python/lib/db2jcc4.jar

3.使用sqlContext.read.format指定JDBC URL等驱动信息--

从 pyspark.sql 导入 SQLContext

sqlContext=SQLContext(sc)

df = sqlContext.read.format("jdbc").option(url="jdbc:db2://hostname:port/bigsql",driver="com.ibm.db2.jcc.DB2Driver",dbtable="tablename" ,用户=“用户名”,密码=“密码”).load()

df.show()

于 2017-06-29T09:03:20.870 回答