第 4 步:将数据加载到 HDFS
在此步骤中,将数据文件复制到 Hadoop Distributed File System(HDFS),然后创建映射到数据文件的外部 Hive 表。
下载示例数据
-
下载示例数据存档 (
features.zip
):wget https://docs.aws.amazon.com/amazondynamodb/latest/developerguide/samples/features.zip
-
解压缩存档中的
features.txt
文件:unzip features.zip
-
查看
features.txt
文件的前几行:head features.txt
结果应与如下类似:
1535908|Big Run|Stream|WV|38.6370428|-80.8595469|794 875609|Constable Hook|Cape|NJ|40.657881|-74.0990309|7 1217998|Gooseberry Island|Island|RI|41.4534361|-71.3253284|10 26603|Boone Moore Spring|Spring|AZ|34.0895692|-111.410065|3681 1506738|Missouri Flat|Flat|WA|46.7634987|-117.0346113|2605 1181348|Minnow Run|Stream|PA|40.0820178|-79.3800349|1558 1288759|Hunting Creek|Stream|TN|36.343969|-83.8029682|1024 533060|Big Charles Bayou|Bay|LA|29.6046517|-91.9828654|0 829689|Greenwood Creek|Stream|NE|41.596086|-103.0499296|3671 541692|Button Willow Island|Island|LA|31.9579389|-93.0648847|98
features.txt
文件包含来自美国地名委员会的数据子集 (http://geonames.usgs.gov/domestic/download_data.htm)。每行中的字段代表以下内容: -
地形 ID(唯一标识符)
-
名称
-
类(湖泊、森林、溪流等)
-
州
-
纬度(度)
-
经度(度)
-
高度(英尺)
-
-
在命令提示符处,输入以下命令:
hive
命令提示符更改为
hive>
。 -
输入下面的 HiveQL 语句,创建本机 Hive 表:
CREATE TABLE hive_features (feature_id BIGINT, feature_name STRING , feature_class STRING , state_alpha STRING, prim_lat_dec DOUBLE , prim_long_dec DOUBLE , elev_in_ft BIGINT) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' LINES TERMINATED BY '\n';
-
输入下面的 HiveQL 语句,为表加载数据:
LOAD DATA LOCAL INPATH './features.txt' OVERWRITE INTO TABLE hive_features;
-
现在,您有一个本机 Hive 表,其中填充
features.txt
文件的数据。要验证,请输入下面的 HiveQL 语句:SELECT state_alpha, COUNT(*) FROM hive_features GROUP BY state_alpha;
输出应显示州列表以及每个州中的地理特征的数量。