0

我正在逐步指导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 -> 数据库没有数据?我该怎么办 ??

4

1 回答 1

0

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

这是我的步骤,我确信我可以看到数据。

  1. 我从网站google book下载数据并解压缩到我的主文件夹。
  2. 输入hive从本地复制数据到hadoopdfs -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;你会看到数据。

于 2013-04-24T03:37:03.640 回答