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阶段中扫描分区的线程数。

如果你想了解大数据的学习路线,想学习大数据知识以及需要免费的学习资料可以加群:784789432.欢迎你的加入。每天下午三点开直播分享基础知识,晚上20:00都会开直播给大家分享大数据项目实战。

 

对表进行分析
    在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

Hive中导入Amazon S3中的分区表数据的操作的更多相关文章

  1. eclipse中导入项目后中文成乱码解决办法

    转自:http://blog.163.com/lang_zi_ming/blog/static/1140161762010412112650774/ 编程时在往eclipse中导入项目后 项目中的中文 ...

  2. 微软BI 之SSIS 系列 - 在 SSIS 中导入 ACCESS 数据库中的数据

    开篇介绍 来自 天善学院 一个学员的问题,如何在 SSIS 中导入 ACCESS 数据表中的数据. 在 SSIS 中导入 ACCESS 数据库数据 ACCESS 实际上是一个轻量级的桌面数据库,直接使 ...

  3. 用kattle将数据从SQLserver中导入到vertica中

    今天简单的学习了一下ETL工具kattle了,只是简单的上手,不过这也已经够我去做POC了. 首先大体介绍一下kattle,Kettle是一款国外开源的ETL工具,纯java编写,可以在Window. ...

  4. oracle数据库中导入Excel表格中的数据

    1.点击[工具]-->[ODBC 导入器],如图: 2.在导入器里选择第一个[来自ODBC的数据],用户名/系统DSN-->填写[Excel Files],输入用户名和密码,点击 [连接] ...

  5. 网易UI自动化测试工具Airtest中导入air文件中的方法

    最近看了一下网易的Airtest ,UI测试工具,写了一些后在导入其他air文件中的.py文件,卡了一下,现在博客中纪录一下导入其他air文件的方式: 在Airtest 测试工具中,导入其他air文件 ...

  6. 详解Amazon S3上传/下载数据

    AWS简单储存服务(Amazon S3)是非常坚牢的存储服务,拥有99.999999999%的耐久性(记住11个9的耐久性). 使用CloudBerry Explorer,从Amazon S3下载数据 ...

  7. MySQL中导入Excel表格中的数据

    在数据库中建立好响应的数据库.表(参考excel表格中列中的名字和内容): 将excel表格另存为txt文件,选择“文本文件(制表符分割)”: 打开相应的txt文件,只留下要导入的数据(windows ...

  8. 从S3中导入数据到Dynamodb

    本节如果你已经从Dynamodb中导出过数据,而且导出的文件以及被存入S3.文件内部结构会在Verify Data Export File 中描写叙述. 我们称之前导出数据的原始表为source ta ...

  9. 使用Apache Hudi + Amazon S3 + Amazon EMR + AWS DMS构建数据湖

    1. 引入 数据湖使组织能够在更短的时间内利用多个源的数据,而不同角色用户可以以不同的方式协作和分析数据,从而实现更好.更快的决策.Amazon Simple Storage Service(amaz ...

随机推荐

  1. Apache的主要目录和配置文件详解

    一.Apache 主要配置文件注释Apache的主配置文件:/etc/httpd/conf/httpd.conf默认站点主目录:/var/www/html/Apache服务器的配置信息全部存储在主配置 ...

  2. CentOS随笔 - 1.虚拟机VMware安装CentOS7系统

    前言 转帖请注明出处: http://www.cnblogs.com/Troy-Lv5/ 需要安装CentOS首先你得下载安装镜像文件(地址: https://www.centos.org/downl ...

  3. 测试拆分比较大SQL Server数据库

    有2个办法拆分比较大的数据库. 1.重建聚集索引2.收缩数据库 一.准备测试数据 )) go insert into blocktable(blockno,binno,rack,chipcount,m ...

  4. DAO层,Service层,Controller层、View层介绍

    来自:http://jonsion.javaeye.com/blog/592335 DAO层 DAO 层主要是做数据持久层的工作,负责与数据库进行联络的一些任务都封装在此,DAO层的设计首先是设计DA ...

  5. C# 按位或,按位与, 按位异或

    a != b  ----->  a = a | b  , a 或者 b 只要有一个为 1, 那么,a 的最终结果就为 1 a &= b  ----->  a = a & b ...

  6. CSS制作图形速查表

    很少会有人意识到,当浏览器绘制的border,会有一个角度的问题.我们就是得用这样的一个技巧来制作三角的效果.我们只需要保证一边的边框是有色,其他边框色为透明色,这样我们就很容易制作出三角形,然后改变 ...

  7. 乘风破浪:LeetCode真题_006_ZigZag Conversion

    乘风破浪:LeetCode真题_006_ZigZag Conversion 一.前言 到这里我们对基本的问题有了一定的理解,其中字符串的操作一直是一个比较困难的问题,这一点我们需要认真对待,采用合理的 ...

  8. APPLICATION FAILED TO START

    Description: Cannot determine embedded database driver class for database type NONE Action: If you w ...

  9. mongo数据库导入导出数据

    一.Mongodb导出工具mongoexport Mongodb中的mongoexport工具可以把一个collection导出成JSON格式或CSV格式的文件.可以通过参数指定导出的数据项,也可以根 ...

  10. win10中显示资源管理器扩展

    一年前从有两台机器win7升级到win10,一台上装了我常用的资源管理器扩展setExBar,但另一台没有.升级后原来有插件的依然默认显示插件,我在另一台机器上安装了setExBar时默认不显示.如果 ...