ЗАГРУЗКА ДАННЫХ НАГРУЗКИ - PullRequest
1 голос
/ 14 марта 2019

Я попытался создать таблицу в улье, используя следующую команду:

CREATE TABLE apple (dates STRING, open INT, high INT, low INT, close INT, adj_close DECIMAL, vol INT) row format delimited fields terminated by ',' lines terminated by '\n' tblproperties ("skip.header.line.count"="1");**

Затем я попытался загрузить данные с помощью команды:

LOAD DATA INPATH '/user/root/stockdata/APPL.csv' OVERWRITE INTO TABLE apple;

Файл APPLCSV хранится в HDFS,Ошибка: файл, который вы пытаетесь загрузить, не соответствует формату таблицы назначения.(штат = 42000, код = 40000)

Может кто-нибудь помочь решить эту проблему?

Ответы [ 2 ]

1 голос
/ 15 марта 2019

Вы можете загрузить данные в таблицу несколькими способами !!Но убедитесь, что формат таблицы правильный.

  • Сначала поместите конкретную таблицу в расположение таблицы.

    Синтаксис: hadoop fs -put source_path destination_hive_table_location

    Пример: hadoop fs -put APPL.csv /user/test.db/apple/APPL.csv

  • Как только файл в файловой системе Hadoop, мы можем загрузить файл в таблицу с помощью команды загрузки в консоли куста

загрузить данные в путь '/user / test.db / apple / APPL.csv 'в таблицу apple;

PS: Вы загружаете файл CSV data.so, убедитесь, что таблица имеет правильный формат ввода и вывода текста.

STORED AS INPUTFORMAT
  'org.apache.hadoop.mapred.TextInputFormat'
OUTPUTFORMAT
  'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
1 голос
/ 14 марта 2019

Поместите файл прямо в расположение таблицы.

hdfs dfs -copyFromLocal /user/root/stockdata/APPL.csv' /user/<username>/apple 

Замените место назначения на местоположение вашей таблицы. Вы можете проверить это, используя DESCRIBE FORMATTED tablename.

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