Hive中导入Amazon S3中的分区表数据的操作

栏目: 服务器 · 发布时间: 5年前

内容简介:数据在S3存放的数据是按时间纬度存放的,每天的数据存放在各自的目录下,目录结构如下截图:每个目录下面的数据是CSV文件,现在将其导入到Hive中进行查询,通过创建对应的表结构:

Hive中创建S3的外部表

数据在S3存放的数据是按时间纬度存放的,每天的数据存放在各自的目录下,目录结构如下截图:

Hive中导入Amazon S3中的分区表数据的操作

每个目录下面的数据是CSV文件,现在将其导入到Hive中进行查询,通过创建对应的表结构:

CREATE EXTERNAL TABLE `palmplay_log_pv_s3_csv`(
  `meta_id` string COMMENT 'from deserializer', 
  `brand` string COMMENT 'from deserializer', 
  `channel` string COMMENT 'from deserializer', 
  `countrycode` string COMMENT 'from deserializer')
partitioned by (dt String)
ROW FORMAT SERDE
  'org.apache.hadoop.hive.serde2.OpenCSVSerde'
WITH SERDEPROPERTIES (
   "separatorChar" = "\t",
   "quoteChar"     = "'",
   "escapeChar"    = "\\"
)  
STORED AS TEXTFILE
LOCATION
  's3a://palmplay_log_pv_csv';

然后通过如下语句进行查询:

select * from palmplay_log_pv_s3_csv limit 10;
select * from palmplay_log_pv_s3_csv where dt='2018-04-09' limit 10;

此时是查询不到结果,因为这个时候分区表的分区信息并没有加载到Hive的Metastore中,需要先执行将分区信息加载到Metastore中,才可以查询到数据。

加载表的分区信息到Metastore中

从S3中将表的分区信息加载到Hive的Metastore中,这个同从HDFS中加载表的分区信息是一样的,执行以下命令进行加载:

MSCK REPAIR TABLE palmplay_log_pv_s3_csv;

然后再执行select查询就可以查询到数据了。

注:可以使用hive.metastore.fshandler.threads参数(缺省值为15,配置在hive-site.xml中)来增加用于在MSCK阶段中扫描分区的线程数。

对表进行分析

在Amazon S3上处理数据时,分析表的步骤与在HDFS中处理数据时的步骤相同。

可以通过设置hive.stats.autogather = true或运行analyze table table_name compute statistics命令自动收集表统计信息,例如:

ANALYZE TABLE table_name PARTITION(dt ='2018-04-09')COMPUTE STATISTICS;

但是,列统计信息只能通过运行列命令的分析表测试计算统计信息来收集,例如:    

ANALYZE TABLE table_name PARTITION(ds ='2018-04-09')COLUMNS;

有关更多信息和示例,请参阅 Apache文档

参考: https://hortonworks.github.io/hdp-aws/s3-hive/index.html


以上所述就是小编给大家介绍的《Hive中导入Amazon S3中的分区表数据的操作》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们

Purely Functional Data Structures

Purely Functional Data Structures

Chris Okasaki / Cambridge University Press / 1999-6-13 / USD 49.99

Most books on data structures assume an imperative language such as C or C++. However, data structures for these languages do not always translate well to functional languages such as Standard ML, Ha......一起来看看 《Purely Functional Data Structures》 这本书的介绍吧!

XML、JSON 在线转换
XML、JSON 在线转换

在线XML、JSON转换工具

RGB HSV 转换
RGB HSV 转换

RGB HSV 互转工具

HEX CMYK 转换工具
HEX CMYK 转换工具

HEX CMYK 互转工具