我正在使用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万。
任何帮助都将深表感谢。
提前致谢。
答案 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中得到修复。