Я новичок в Big Insights. Я работаю над BigInsigths в облаке 4.1, Ambari 2.2.0 и Spark 1.6.1. Не имеет значения, используется ли соединение в scala или python, но мне нужно выполнить обработку данных с помощью Spark, а затем сохранить ее в BigSql. Это возможно? Заранее спасибо.
Как подключиться с Spark 1.6 к bigsql
Ответы (2)
Проверьте syshadoop.execspark, чтобы узнать, как выполнять задания Spark и возвращать результат в формате таблицы, после чего вы можете вставить его в таблицу или присоединиться к другим таблицам.
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
Вот шаги для подключения BigSQL через PySpark с использованием jdbc в BigInsights:
1. Разместите db2jcc4.jar (драйвер IBM для подключения к BigSQL, вы можете загрузить его с сайта http://www-01.ibm.com/support/docview.wss?uid=swg21363866) в библиотеке Python.
2. Добавьте путь к файлу jar в файле spark-defaults.conf (расположенном в папке conf вашей установки Spark) spark.driver.extraClassPath /usr/lib/spark/python/lib/db2jcc4.jar spark.executor.extraClassPath /usr/lib/spark/python/lib/db2jcc4.jar
or
Запустите Spark Shell с путем к jar - pyspark --jars /usr/lib/spark/python/lib/db2jcc4.jar
3. С помощью sqlContext.read.format укажите URL-адрес JDBC и другую информацию о драйвере -
из 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" , user = "имя пользователя", пароль = "пароль"). load ()
df.show ()