Не удалось найти созданную таблицу Hive и не удалось получить данные из таблицы - PullRequest
0 голосов
/ 05 декабря 2018

Я создаю внешнюю таблицу, используя оболочку Hive, и загружаю в нее некоторые данные.Когда я запускаю команду show table, она показывает имя таблицы.Но когда я запускаю запрос на выборку для отображения данных из этой таблицы, он не дает никакого вывода.

Я также попытался найти таблицу в папке / user / Hive / Warehouse в HDFS, но она не отображается.

Я использую базу данных Derby по умолчанию и не вносил никаких изменений в файл hive-site.xml.

Обновление

Я использовалневерный файл для ввода данных.Этот файл был .JSON-файлом.Сейчас я пытаюсь создать внешнюю таблицу, используя оболочку Hive, и загрузить в нее некоторые данные.Выдает ошибку «Код выполнения ошибки возврата 1 из файла rg.apache.hadoop.hiveql.exec.DDLTask.MetaException (сообщение: hdfs: / localhost: 9000out_sa / part-r-00000s не каталог или не может его создать)

Ниже приведен запрос и данные, которые я пытаюсь загрузить в столбце String.

Запрос

CREATE EXTERNAL TABLE twitter_Data (Comments STRING) Местоположение 'out_sa / part-r-00000';

Образец данных

RT @arjenvanberkum: The impacts of #BigData that you may not have heard of |
Descarga los PDFs de los Cursos de Google AdWords, Analytics, Community y SEO. Infórmate! 
RT @cookovernewz: The Secret Ingredient In The Text Analytics ROI Recipe - Forbes 
RT @cookovernewz: The Secret Ingredient In The Text Analytics ROI Recipe - Forbes 
The Secret Ingredient In The Text Analytics ROI Recipe - Forbes 

1 Ответ

0 голосов
/ 05 декабря 2018

Во-первых, ошибка кажется мне простой.LOCATION должен быть каталогом всех файлов, которые соответствуют предоставленной схеме.Это не может быть один файл.

Во-вторых, файл не является JSON.Это простые строки текста.

Тогда неясно, как вы связываете это с HDFS, поэтому я предлагаю указать полный путь к наменоду

Попробуйте это

CREATE EXTERNAL TABLE IF NOT EXISTS twitter_Data(
    Comments STRING
) 
ROW FORMAT DELIMITED 
LINES TERMINATED BY '\n';
STORED AS TEXT
LOCATION 'hdfs://namenode.example.com:9000:/out_sa/';

Если вы хотитехотя я делаю анализ твитов и текстов, я могу предложить Spark, а не Hive.

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