Сохранение Spark DataFrame, созданного из запроса оракула в таблице улья? - PullRequest
0 голосов
/ 02 ноября 2018

Я использую импала / улей через HUE на платформе Cloudera.

Если я вытаскиваю таблицу из улья в Spark DataFrame через Pyspark, я могу сохранить ее как другую таблицу с чем-то вроде этого:

sdf.write.mode("overwrite").saveAsTable("schema.PythonTest")

Затем, когда я обновляю свои таблицы в HUE под hive / impala, я вижу там новую таблицу и начинаю писать HQL с ней.

Однако, когда я извлекаю данные из oracle в Spark Dataframe, я получаю ошибки при попытке использовать тот же синтаксис, что и выше.

sdf = spark.read \
.format("jdbc") \
.option("url", "jdbc:oracle:thin:UN/PW!@blah.bleh.com:port/sid") \
.option("dbtable", mySQL) \
.option("user", "UN") \
.option("password", "pw!") \
.option("driver", "oracle.jdbc.driver.OracleDriver") \
.load()

Я затрудняюсь объяснить. Почему синтаксис работает, когда запрос улья извлекает данные в sdf, а не когда oracle работает?

sql для оракула работает нормально, а для целей тестирования - только 2 столбца и 2 строки. когда я использую функцию type (sdf), я ясно вижу, что я успешно создаю Spark DataFrame.

Мне не хватает некоторых настроек или шагов?

Ответы [ 2 ]

0 голосов
/ 02 ноября 2018

Если это происходит с вами:

Убедитесь, что вы не останавливаете и не запускаете SparkContext. Если это так, то вы, скорее всего, не включаете необходимые параметры в настройках по умолчанию, которые позволят Spark DataFrame сохранять в кусте с помощью saveAsTable.

Я перезапустил ядро, пропустил свою ячейку, где я остановился и запустил новый SparkContext, и работал нормально.

0 голосов
/ 02 ноября 2018

Какую ошибку вы получаете при извлечении данных из Oracle? Также должен ли формат быть JDBC?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...