Я использую Spark 1.3.1 от AWS EMR. Я создал таблицу с помощью искрового HiveContext и могу видеть это из улья (с использованием "show tables").
Однако при попытке запросить table(Select..),
он бросает следующие ошибки:Не удается запросить таблицу искры от Hive/JDBC
hdfs://IP:9000/user/hive/warehouse/tablename/part-r-00001.parquet not a SequenceFile
Когда я использую «описывают имя_таблицы», он показывает:
col array<string> from deserializer
«Показать таблицу» возвращает имя таблицы.
Любая идея, почему паркет файл не упорядоченным файл, который Спарк создает и как решить это? Мне нужно запрашивать таблицы Spark, из улья и использование JDBC-соединения ионов из RStudio или других инструментов.
SparkSQL/Куст и паркет в сочетании могут быть искусно. Как вы создаете таблицу? Учитывая желание заставить Spark и Hive работать вместе, вы можете найти https://github.com/awslabs/emr-bootstrap-actions/blob/master/spark/examples/parquet-sparksql-hive-compatibility.md полезным. – ChristopherB
Настройка convertMetastoreParquet на false была трюком. Спасибо за информацию! Я создаю таблицу Spark, используя saveAsTable из json-файла после загрузки в Data Frame. Знаете ли вы, как я могу напрямую обращаться к таблице Spark, используя JDBC? Документация Spark 1.3.1 говорит, что он работает с использованием Hive Server2, но это не так. Есть идеи? –