通过Hue在hadoop中加载大型csv只能存储64MB块

时间:2014-10-16 21:46:59

标签: hadoop hive cloudera hue impala

我正在使用Cloudera quickstart vm 5.1.0-1

我试图通过Hue在Hadoop中加载我的3GB csv,到目前为止我尝试的是: - 将csv加载到HDFS中,特别是加载到位于/ user / hive / datasets的数据集文件夹中 - 使用Metastore Manager将其加载到默认db

一切正常,这意味着我设法用正确的列加载它。主要问题是当我使用Impala查询表时启动以下查询:

show table stats new_table

我意识到大小只有64 MB,而不是csv的实际大小,应该是3GB。

另外,如果我通过Impala进行计数(*),行数仅为70000而实际为700万。

任何帮助都将深表感谢。

提前致谢。

3 个答案:

答案 0 :(得分:4)

我有完全相同的问题。这是Hue如何通过Web界面导入文件的问题,该界面有64MB的限制。

我一直在使用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; 

答案 1 :(得分:2)

好像是顺化中的一个错误。找到了解决方法。如果您选择"从文件导入数据"文件会被截断。创建表时复选框。保持未选中状态以创建一个空表。然后在Metastore Manager中选择新创建的表,并使用"导入数据" “操作”菜单中的选项用于填充它。这应该填充所有行。

答案 2 :(得分:0)

导入标头大于64MB的文件时发生此错误(HUE-2501)。

彼得的解决方法很好,它在Hue 3.8和CDH5.3.2中得到修复。