CREATE TABLE stations( number STRING, latitude INT, longitude INT, elevation INT, name STRING, country STRING) PARTITIONED BY (year int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS TEXTFILE;
LOAD DATA LOCAL INPATH "/home/cloudera/Desktop/Stations_2014.csv" INTO TABLE stations PARTITION(year=2014);
创建外部表
CREATE EXTERNAL TABLE external_stations( number STRING, latitude INT, longitude INT, elevation INT, name STRING, country STRING) PARTITIONED BY (year int) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' LOCATION '/user/hive/external/';
ALTER TABLE external_stations ADD PARTITION (year=2014);
hadoop fs -put /home/cloudera/Desktop/Stations_2014.csv /user/hive/external/year=2014/
2条答案
按热度按时间vddsk6oq1#
您必须遵循以下步骤:
创建托管/内部表
创建外部表
jgwigjjp2#
如何在配置单元中创建外部分区表
这里datepart是您的分区。一旦创建了分区表,就需要添加partition.using
ALTER TABLE
. 查询如下:那就做吧
hdfs dfs -ls /user/hdfs/data/
您将得到一个名为datepart=20150515
低于/user/hdfs/data/
目录。datepart=20150515
这是您的分区目录,因此您的目录结构将是/user/hdfs/data/datepart=20150515/
现在您可以使用hdfs dfs -put
来自本地文件系统的命令。如果您的数据已经在hdfs位置可用,那么您可以使用LOAD DATA INPATH
命令将数据加载到分区表中,也可以使用hdfs dfs -mv
命令将数据从hdfs位置移动到另一个hdfs位置。假设您想要删除一个分区,那么您可以使用这样的查询。