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

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

内容简介:数据在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中的分区表数据的操作》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!

查看所有标签

猜你喜欢:

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

工程问题C++语言求解

工程问题C++语言求解

Delores M.Etter、Jeanine A.Ingber / 冯力、周凯 / 机械工业出版社 / 2014-8 / 79元

本书介绍了如何利用ANSIC++编程语言以基于对象的编程方式来解决工程问题。书中引用了大量来自于不同工程、科学和计算机科学领域的示例,是一本理论和实践结合紧密的教材。针对C++基本语法的各个部分,由浅入深地进行讲解。每讲解一部分基础知识,同时会结合多个相关实例,实例内容详实,紧贴所讲内容,使读者能够立刻对所学知识进行练习,实战性强。一起来看看 《工程问题C++语言求解》 这本书的介绍吧!

CSS 压缩/解压工具
CSS 压缩/解压工具

在线压缩/解压 CSS 代码

HTML 编码/解码
HTML 编码/解码

HTML 编码/解码

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

HEX CMYK 互转工具