Я использую импала / улей через 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.
Мне не хватает некоторых настроек или шагов?