亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

Hive中導入Amazon S3中的分區表數據的操作

Hive中创建S3的外部表

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

       

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

  1. CREATE EXTERNAL TABLE `palmplay_log_pv_s3_csv`(  

  2.   `meta_id` string COMMENT 'from deserializer',   

  3.   `brand` string COMMENT 'from deserializer',   

  4.   `channel` string COMMENT 'from deserializer',   

  5.   `countrycode` string COMMENT 'from deserializer')  

  6. partitioned by (dt String)  

  7. ROW FORMAT SERDE  

  8.   'org.apache.hadoop.hive.serde2.OpenCSVSerde'  

  9. WITH SERDEPROPERTIES (  

  10.    "separatorChar" = "\t",  

  11.    "quoteChar"     = "'",  

  12.    "escapeChar"    = "\\"  

  13. )    

  14. STORED AS TEXTFILE  

  15. LOCATION  

  16.   's3a://palmplay_log_pv_csv';  

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


  1. select * from palmplay_log_pv_s3_csv limit 10;  

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

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


加载表的分区信息到Metastore中

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

  1. 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;
    但是,列统计信息只能通过运行列命令的分析表测试计算统计信息来收集,例如:    


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

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

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

原文出处

點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消