Загрузка большого csv в hadoop через Hue сохранит только блок размером 64 МБ

Я использую Cloudera quickstart vm 5.1.0-1

Я пытаюсь загрузить свой csv объемом 3 ГБ в Hadoop через Hue, и до сих пор я пробовал: - Загрузите csv в HDFS и, в частности, в папку, называемую наборами данных, расположенную в / user / hive / datasets - Используйте Metastore Manager, чтобы загрузить его в БД по умолчанию

Все работает нормально, это означает, что мне удается загрузить нужные столбцы. Основная проблема заключается в том, что, когда я запрашиваю таблицу, Impala запускает следующий запрос:

показать статистику таблицы new_table

Я понимаю, что размер составляет всего 64 МБ вместо фактического размера csv, который должен составлять 3 ГБ.

Кроме того, если я провожу подсчет (*) через Impala, количество строк будет всего 70000 против фактических 7 миллионов.

Любая помощь будет принята с благодарностью.

Заранее спасибо.


person bobo32    schedule 16.10.2014    source источник
comment
Обрезан ли CSV-файл перед загрузкой?   -  person Romain    schedule 22.10.2014
comment
Неа. До сих пор я нашел обходной путь, создав таблицу через Impala и загрузив ее оттуда, но в этом случае мне нужно указать оператор создания таблицы, включая все 140 столбцов, которые у меня есть. Что-то вроде создания таблицы (A string, B int и т. Д.). Управлять этим больно, поэтому я искал более автоматизированное решение.   -  person bobo32    schedule 23.10.2014


Ответы (3)


У меня была точно такая же проблема. Это проблема, связанная с тем, как Hue импортирует файл через веб-интерфейс, который имеет ограничение в 64 МБ.

Я импортировал большие наборы данных, используя Hive CLI и флаг -f для текстового файла с кодом DDL.

Пример:

hive -f beer_data_loader.hql



beer_data_loader.hql:

  CREATE DATABASE IF NOT EXISTS beer  
  COMMENT "Beer Advocate Database";


CREATE TABLE IF NOT EXISTS beer.beeradvocate_raw(  
    beer_name           STRING,
    beer_ID             BIGINT,
    beer_brewerID       INT,
    beer_ABV            FLOAT,
    beer_style          STRING,
    review_appearance   FLOAT,
    review_aroma        FLOAT,
    review_palate       FLOAT,
    review_taste        FLOAT,
    review_overall      FLOAT,
    review_time         BIGINT,
    review_profileName  STRING,
    review_text         STRING
    )
 COMMENT "Beer Advocate Data Raw"
 ROW FORMAT DELIMITED
  FIELDS TERMINATED BY '|'
 STORED AS parquet;


CREATE EXTERNAL TABLE IF NOT EXISTS beer.beeradvocate_temp(  
    beer_name           STRING,
    beer_ID             BIGINT,
    beer_brewerID       INT,
    beer_ABV            FLOAT,
    beer_style          STRING,
    review_appearance   FLOAT,
    review_aroma        FLOAT,
    review_palate       FLOAT,
    review_taste        FLOAT,
    review_overall      FLOAT,
    review_time         BIGINT,
    review_profileName  STRING,
    review_text         STRING
    )
 COMMENT "Beer Advocate External Loading Table"
 ROW FORMAT DELIMITED
  FIELDS TERMINATED BY '|'
 LOCATION '/user/name/beeradvocate.data';


INSERT OVERWRITE TABLE beer.beeradvocate_raw SELECT * FROM beer.beeradvocate_temp;  
DROP TABLE beer.beeradvocate_temp; 
person JamCon    schedule 27.10.2014
comment
Сохраняется ли файл постоянно в HDFS с такой командой? - person Mehdi LAMRANI; 23.08.2017

Похоже на ошибку в Hue. Нашел обходной путь. Файл будет усечен, если вы установите флажок «Импортировать данные из файла» при создании таблицы. Не устанавливайте этот флажок, чтобы создать пустую таблицу. Затем выберите вновь созданную таблицу в Менеджере хранилища метаданных и используйте параметр «Импортировать данные» в меню «Действия», чтобы заполнить ее. Это должно заполнить все строки.

person Peter G    schedule 10.01.2015

Эта ошибка (HUE-2501) возникала при импорте файла с заголовками размером более 64 МБ.

Обходной путь Питера хорош, и он исправлен в Hue 3.8 и начиная с CDH5.3.2.

person Romain    schedule 18.02.2015
comment
Используя CDH 5.12 с HIVE 4, проблема, очевидно, все еще существует - person Mehdi LAMRANI; 23.08.2017