Hadoop Eco.
Lestat.Z.
lestatzhang.com
展开
-
Impala中refresh与invalidate metadata
INVALIDATE METADATAINVALIDATE METADATA语句将一个或所有表的元数据标记为陈旧状态(stale)。下次Impala服务针对元数据无效的表执行查询时,Impala会在查询继续之前重新加载关联的元数据。由于与REFRESH语句完成的增量元数据更新相比,这是一个非常昂贵的操作,因此,在可能的情况下,建议使用REFRESH而不是INVALIDATE METADATA。在Impala之外,如在Hive和其他Hive客户端(例如SparkSQL)进行以下更改时,需要INVALIDA原创 2020-10-19 10:40:27 · 1029 阅读 · 0 评论 -
Hive中使用parquet
如何创建parquet外部表CREATE EXTERNAL TABLE IF NOT EXISTS XXXX (...)STORED AS PARQUETLOCATION '/data/hive/xxxx'TBLPROPERTIES ('parquet.compression'='SNAPPY')Parquet字段定义与Hive表中字段的关系如果hive表定义的字段包含且大于parquet文件字段,则parquet文件不存在的字段被查询为NULLparquet文件可以包含hive表定义原创 2020-05-19 14:27:16 · 1888 阅读 · 0 评论 -
整理一些HBase相关的文章
前言学习HBase过程中搜集的的一些文章,整理如下。文章列表HBase入门 – 数据模型HBase入门 – 组件HBase入门 – 读写与删除原理HBase入门 – 压缩、分裂与故障恢复HBase原理– 探索HFile索引机制HBase原理 – Memstore Flush深度解析HBase原理-数据读取流程解析HBase原理-迟到的‘数据读取流程’部分细节HBase...原创 2019-06-06 20:54:03 · 1082 阅读 · 0 评论 -
HBase Rowkey设计(1) —— 避免热点
HBase Rowkey设计之避免热点什么是热点(Hotspotting)如何避免热点SaltingHashingReversing the Key参考资料什么是热点(Hotspotting)HBase中的行按行按字典顺序排序。这种优化是为了方便扫描而设计的,可以将相关的行以及会被一起读取的行存取在临近位置。但是,设计不良的行键是热点的常见来源。当大量客户端流量指向群集的一个节点或仅几个节点时...原创 2019-04-24 22:04:59 · 791 阅读 · 0 评论 -
Phoenix综述
查看主页转载自:http://www.cnblogs.com/linbingdong/p/5832112.htmlPhoenix综述(史上最全Phoenix中文文档)网上关于Phoenix的资料寥寥无几,中文资料更是几乎没有。本人详细阅读Phoenix官网,整理成此篇中文文档,供后人参考。如有翻译错误的地方,请批评指出。1. Phoenix定义Phoenix最早是salefor...转载 2019-04-23 21:05:14 · 333 阅读 · 0 评论 -
使用beeline/hive时,该如何停止打印INFO日志
前言在使用beeline跑hive查询时候会产生很多无用的INFO日志,那么该停止打印这些无效日志呢? 具体方法如下HiveServer中的Logging配置一般来说,我们会在Beeline客户端(Hive 0.14以后)看到HiveServer2操作日志。以下为HiveServer2中与日志相关的参数:参数默认值描述hive.server2.logging.oper...原创 2019-05-02 21:52:34 · 9141 阅读 · 1 评论 -
HBase Rowkey设计(2) —— 时间戳反转
时间戳反转在Hbase中,使用单调增加的rowkey值是不推荐的。 通过将输入记录随机化为不按排序顺序,这样可以减轻由单调增加的rowkey引起的单个区域的数据堆积。一般情况下,最好避免使用时间戳或序列(例如,1,2,3) 作为行键。如果你确实需要将时间序列数据上传到HBase,那么可以参考下OpenTSDB中作为例子。 它有一个页面描述它在HBase中使用的模式。 OpenTSDB中的关键...原创 2019-04-27 11:30:08 · 5484 阅读 · 2 评论 -
关于Avro和Paquet
前言项目中的数据一开始都是使用Avro格式存储, 但之后的新表都将使用parquet格式存储。于是在这里做点小笔记,毕竟两者之间的差异。Avro与PaquetAvro是基于行的存储格式。Parquet是基于列的存储格式。如果你的需求经常需要扫描或检索每个查询中中的所有字段,那么Avro通常是最佳选择。同时使用Avro的一个优点是轻量级和快速的数据序列化和反序列化,可以提供非常好的写入性能...原创 2019-04-15 22:37:48 · 1539 阅读 · 0 评论 -
Mac上搭建Hadoop环境(2) — Hadoop下载及安装
文章目录前言下载hadoop安装hadoop配置hadoophadoop-env.shyarn-env.shslaves更新*.xml配置文件core-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml将hadoop复制到slave1和slave1上修改slave上的hadoop-env.sh和yarn-env.sh中的JAVA_HOME值添加had...原创 2019-03-24 10:11:49 · 3983 阅读 · 1 评论 -
Mac上搭建Hadoop环境(3) — Hive下载及安装
前言之前已经完成了hadoop集群的安装,测试了HDFS的使用,现在准备在此基础上,继续安装Hive。Hive安装在Mac上我们可以利用Homebrew进行Hive的快速安装brew update;brew install hive;日志如下Lestats-MBP:~ lestat$ brew install hive==> Installing dependencies ...原创 2019-03-24 19:38:06 · 2292 阅读 · 0 评论 -
HUE中一些重要元数据表的DDL整理
收集记录了一些HUE中常用的元数据表的表结构,主要有:auth_permissionauth_useraxes_accessattemptaxes_accesslogbeeswax_queryhistorybeeswax_sessiondesktop_document2具体DDL如下:CREATE TABLE `auth_permission` ( `id` int(11...原创 2019-03-21 14:24:42 · 3005 阅读 · 0 评论 -
Pig Mongo 连接串多个host报错
问题描述原来pig作业中的连接器只指定了一个primary host,为了防止mongo服务器主从切换时能够继续使用,于是想利用replica set的特性,将多个host传给mongo连接器:例如 ‘mongodb://user:passwd@host1:port1,host2:port2/’但是出现了如下的语法错误pig script failed to validate: java.l...原创 2019-02-20 12:40:57 · 380 阅读 · 0 评论 -
如何使用pig的AvroStorage存储array/map类型
文章目录问题描述解决方法问题描述之前项目一直使用pig进行数据迁移,输出文件的类型是Avro。一开始都是将字段设为string类型,但后来随着上有数据类型变得复杂,原来pig脚本已经无法使用。因为我们现在需要存储array和map类型的数据到avro文件中。解决方法对于输出map类型,请参考How can I using Pig scripts to generate nested ...原创 2019-02-24 22:00:49 · 421 阅读 · 0 评论 -
关于pig中的bytearray
在pig load数据时候,如果不指定类型,则字段类型默认为bytearray。然后pig会根据上下文,隐式转换数据。Map类型的值默认为bytearray类型bytearray类型在pig中没有常量表示在定义schema时,我们可以只提供字段名字而不指定字段类型; 在这种情况下,字段类型默认为bytearray。在不指定schema的情况下,字段类型默认为bytearray。Pig将所...原创 2019-03-07 22:16:32 · 318 阅读 · 0 评论 -
Hive to Mongo Update性能差
文章目录问题描述解决办法问题描述项目中有一个作业是通过pig来利用hive表的数据来更新mongo表的数据,简而言之就是Hive to Mongo use MongoUpdateStorage. 这种方法的效率很低,在UAT环境里面测试时竟然卡住不动。解决办法因为mongo的更新类似于SCD1,所以可以用 “delete & insert”的方法来代替update操作。具体步骤就是...原创 2019-02-19 22:20:35 · 375 阅读 · 0 评论 -
关于Avro中的Unions类型
Avro中的复杂类型Avro支持六种复杂类型:recordsenumsarraysmapsunionsfixedUnions类型介绍Unions使用JSON数组表示。例如,[“null”,“string”]声明一个字段的类型可以是null或string。注意当替类型为union的字段指定默认值时,默认值的类型必须与union的第一个元素匹配。比如,在与对于包含“nul...原创 2019-02-24 20:38:58 · 1712 阅读 · 0 评论 -
Apache Pig使用MongoLoader产生大量空文件问题
文章目录问题描述原因分析解决方法问题描述项目中需要利用Pig MongoLoader将MongoDB里面的数据每日增量备份到hive的外部分区表中,但是在检查hdfs文件发现分区文件夹下产生了大量的小文件/空文件。原因分析由于MongoDB表没有设置retention,该表中的数据也没有被定期清理,随着该表的体力不断增多。这样导致mongoloader在计算split数目的时候会根据tot...原创 2019-02-16 22:08:10 · 231 阅读 · 0 评论