Hive中导入Amazon S3中的分区表数据的操作
Hive中创建S3的外部表
数据在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阶段中扫描分区的线程数。
如果你想了解大数据的学习路线,想学习大数据知识以及需要免费的学习资料可以加群: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;
但是,列统计信息只能通过运行列命令的分析表测试计算统计信息来收集,例如:
- ANALYZE TABLE table_name PARTITION(ds ='2018-04-09')COLUMNS;
有关更多信息和示例,请参阅Apache文档。
Hive中导入Amazon S3中的分区表数据的操作的更多相关文章
- eclipse中导入项目后中文成乱码解决办法
转自:http://blog.163.com/lang_zi_ming/blog/static/1140161762010412112650774/ 编程时在往eclipse中导入项目后 项目中的中文 ...
- 微软BI 之SSIS 系列 - 在 SSIS 中导入 ACCESS 数据库中的数据
开篇介绍 来自 天善学院 一个学员的问题,如何在 SSIS 中导入 ACCESS 数据表中的数据. 在 SSIS 中导入 ACCESS 数据库数据 ACCESS 实际上是一个轻量级的桌面数据库,直接使 ...
- 用kattle将数据从SQLserver中导入到vertica中
今天简单的学习了一下ETL工具kattle了,只是简单的上手,不过这也已经够我去做POC了. 首先大体介绍一下kattle,Kettle是一款国外开源的ETL工具,纯java编写,可以在Window. ...
- oracle数据库中导入Excel表格中的数据
1.点击[工具]-->[ODBC 导入器],如图: 2.在导入器里选择第一个[来自ODBC的数据],用户名/系统DSN-->填写[Excel Files],输入用户名和密码,点击 [连接] ...
- 网易UI自动化测试工具Airtest中导入air文件中的方法
最近看了一下网易的Airtest ,UI测试工具,写了一些后在导入其他air文件中的.py文件,卡了一下,现在博客中纪录一下导入其他air文件的方式: 在Airtest 测试工具中,导入其他air文件 ...
- 详解Amazon S3上传/下载数据
AWS简单储存服务(Amazon S3)是非常坚牢的存储服务,拥有99.999999999%的耐久性(记住11个9的耐久性). 使用CloudBerry Explorer,从Amazon S3下载数据 ...
- MySQL中导入Excel表格中的数据
在数据库中建立好响应的数据库.表(参考excel表格中列中的名字和内容): 将excel表格另存为txt文件,选择“文本文件(制表符分割)”: 打开相应的txt文件,只留下要导入的数据(windows ...
- 从S3中导入数据到Dynamodb
本节如果你已经从Dynamodb中导出过数据,而且导出的文件以及被存入S3.文件内部结构会在Verify Data Export File 中描写叙述. 我们称之前导出数据的原始表为source ta ...
- 使用Apache Hudi + Amazon S3 + Amazon EMR + AWS DMS构建数据湖
1. 引入 数据湖使组织能够在更短的时间内利用多个源的数据,而不同角色用户可以以不同的方式协作和分析数据,从而实现更好.更快的决策.Amazon Simple Storage Service(amaz ...
随机推荐
- Windows下Git服务端和客户端的搭建
1.服务器端的搭建 本人使用的是一款带源码的工具:bonobogitserver,对应的网址为:https://bonobogitserver.com/ 具体操作方式如下: 1.打开网址,下载最新版本 ...
- Exchange邮件系统日志查看及管理
1.查看邮件服务器上某个时间段内的所有邮件信息: Get-MessageTrackingLog -ResultSize Unlimited -Start "3/6/2015 8:40AM&q ...
- 申请MVP奖励时的小Tips
大家新年好,今天MSPrecious为大家带来一些申请MVP奖励时的小Tips. 本文分为三个部分 MVP是什么 如何申请MVP 申请MVP需要注意的事项 MVP是什么? 我想,点进来看这篇文章的 ...
- TCP/UDP调试器 SocketToolV4.1
TCP/UDP Socket调试工具提供了TCP Server,TCP Client,UDP Server,UDP Client,UDP Group 五种Socket调试方案.SocketTool V ...
- 相同数据源情况下,使用Kafka实时消费数据 vs 离线环境下全部落表后处理数据,结果存在差异
原因分析: 当某个consumer宕机时,消费位点(例如2s提交一次)尚未提交到zookeeper,此时Kafka集群自动rebalance后另一consumer来接替该宕机consumer继续消费, ...
- ONOS的安装
ONOS的简介 ONOS(Open Network Operating System)开放网络操作系统,由 ON.Lab 使用 Java 及 Apache 实现发布的首款开源的SDN网络操作系统. O ...
- 如果要遍历除了for循环,你还知道什么?——JavaScript的各种遍历方式
如果要遍历除了for循环,你还知道什么?——JavaScript的各种遍历方式 这是曾经面试中的一道题目,当时的我用现在很潮的话讲,整个人是懵比的,我呆呆的说了句,我好像只知道for循环啊.后来回过神 ...
- 真实世界中的 Swift 性能优化
那么有什么因素会导致代码运行缓慢呢?当您在编写代码并选择架构的时候,深刻认识到这些架构所带来的影响是非常重要的.我将首先谈一谈:如何理解内联.动态调度与静态调度之间的权衡,以及相关结构是如何分配内存的 ...
- 随手练——O(n)解决无序数组排序后的相邻最大差值
题目从这儿看到的 : https://mp.weixin.qq.com/s/2OXg67MfBuQjDPAJxxD8rQ,但是公众号上讲错了,问题还挺严重的. 题目知识点:桶排序. 题目:有一个无序数 ...
- 2、Android-UI(关于Nine-Patch图片)
实例: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android= ...