Запустить скрипт python с настройками pyspark
У меня есть конфигурация Spark в spark-defaults.conf, XML-файлы: core-site.xml, hive-site.xml, и я экспортировал переменные среды. Когда я запускаю консоль pyspark:
$ pyspark --master yarn
а потом:
>>> sqlContext.sql("show tables").show()
все правильно, но когда я использую чистый интерпретатор python, я не вижу свои таблицы.
from pyspark import SparkContext, SparkConf
from pyspark.sql import SQLContext
conf = SparkConf().setMaster("yarn-client")
sc = SparkContext(conf=conf)
sqlContext = SQLContext(sc)
sqlContext.sql("show tables").show()
Как я могу заставить python видеть все конфигурационные файлы?
1 ответ
Решение
Насколько я понимаю, когда вы запускаете PySpark Shell, Spark создается с поддержкой Hive, т.е. HiveContext
, который по умолчанию SQLContext
,
Но при запуске программы Python или интерпретатора Python, как в вашем случае, SQLContext не поставляется с поддержкой Hive.
Чтобы исправить это
sqlCtx = HiveContext(sc)
sqlCtx.sql("show tables").show()