将数据导入HVE(使用Google Books n-gram数据查找趋势主题)

时间:2013-04-22 13:06:57

标签: hadoop amazon-web-services amazon-s3 hive

我正在逐步指导http://aws.amazon.com/articles/5249664154115844

步骤:创建输入表

hive>
CREATE EXTERNAL TABLE english_1grams (
 gram string,
 year int,
 occurrences bigint,
 pages bigint,
 books bigint
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
STORED AS SEQUENCEFILE
LOCATION 's3://datasets.elasticmapreduce/ngrams/books/20090715/eng-all/1gram/';

我的系统内置:ubuntu +(hadoop + hive)不是AWS(EC2) 所以我改变了LOCATION -> LOCATION 'home/hduser/googlebook'

文件夹googlebook获取:所有文件,我已在http://storage.googleapis.com/books/ngrams/books/datasetsv2.html下载 第2版​​

所以当我查询时,我有一个问题

hive>SELECT * from ngrams

结果是0 - >数据库没有数据?我该怎么办?

1 个答案:

答案 0 :(得分:0)

我不清楚您的问题,但您创建的表格是english_1grams,但您的hql是select * from ngrams

  

这是我的步骤,我相信我能看到数据。

  1. 我从网站google book下载数据并解压缩到我的主文件夹。
  2. 将hive副本数据从本地输入到hadoop dfs -copyFromLocal ${env:HOME}/googlebooks-eng-all-1gram-20120701-2 /user/hive/warehose/googlebook
  3. 我创建了表

    create external table english_gram(
        gram string,
        year int,
        page int,
        book int)
        row format delimited
        fields terminated by '\t'
        stored as textfile
        location 'hdfs://ubuntu:9005/user/hive/warehouse/googlebook';
    
  4. select * from english_gram;您将看到数据。