Я использую Spark 1.4.0 (PySpark). У меня есть DataFrame загружены из улья таблицы, используя этот запрос:Почему функция insertInto не работает при работе с таблицами в базе данных, отличной от настроек по умолчанию?
sqlContext = HiveContext(sc)
table1_contents = sqlContext.sql("SELECT * FROM my_db.table1")
При попытке вставить данные из table1_contents
после некоторых преобразований в table2 используя функцию DataFrameWriter # insertInto:
sqlContext.createDataFrame(transformed_data_from_table1).write.insertInto('my_db.table2')
я встречаю эту ошибку :
py4j.protocol.Py4JJavaError: An error occurred while calling o364.insertInto.
: org.apache.spark.sql.AnalysisException: no such table my_db.table2;
Я знаю, что моя таблица существующих, потому что, когда я типа:
print sqlContext.tableNames('my_db')
показаны таблицы 1 и таблица2. Может ли кто-нибудь помочь в решении этой проблемы?
Мой sqlContext является HiveContext. Посмотрите первую строку моего кода. – menorah84