5 张行之

尚未进行身份认证

我要认证

闻道有先后,术业有专攻。

等级
TA的排名 2k+

Hive表命名规范

Hive表命名规范一、命名规则业务产品_层名_计算周期&&统计周期_表类型_存储类型_表的业务含义举个例子:1.浏览器业务产品的 每天计算的 hive 搜索事件的 事实表 明细数据 browser_dwd_dd_face_hive_search2.浏览器业务产品 每天全量 城市 hive维表 browser_dim_da_dic_hive_city3.浏览器业务产品 每天 搜索网站 次数统计 排名 browser_al_dd_rpt_hive_search_web_ran

2020-09-30 17:47:38

Hive之MapReduce性能优化

Hive优化一、Hive任务创建文件数优化1.1 Map端文件合并减少Map任务数量一般来说,HDFS的默认文件块大小是128M,如果在Hive执行任务时,发现Map端的任务过多,且执行时间多数不超过一分钟,建议通过参数,划分(split)文件的大小,合并小文件。如:set hive.input.format=org.apache.hadoop.hive.ql.io.CombineHiveInputFormat;set mapreduce.input.fileinputformat.split.m

2020-09-20 22:05:02

Hive添加列、修改列(调整位置)、删除列操作等

1.添加1列或多列# 添加1列alter table table_name add columns( user_id bigint comment '用户ID');# 添加多列alter table table_name add columns( name string comment '用户名称', city string comment '城市', sex string comment '用户性别', age s

2020-09-11 18:35:51

Hive Archive合并文件归档,减少小文件数量(推荐)

我们在使用Hive存储时,有时会遇到Hive表的文件大小不大,但是文件数量众多;这是可能会遇到HDFS的储存空间没到阈值,但文件数量超过阈值。如果小文件太多,容易影响整个集群的性能。那么对于小文件多的问题,有以下处理方法:1.输出时减少reduce的数量;但可能会导致job运行变慢2.使用Spark重新读取小文件,修改分区并写入,这里不建议使用repartition(),推荐使用coalesce()repartition()会增加文件的大小,因为要历经shuffle阶段,但coalesce()不会经

2020-09-10 18:46:24

ElasticSearch Java High RESTful Api Basic认证的问题

ElasticSearch Java High RESTful Api Basic认证的问题因公司Elasticsearch集群升级到7.1.1,需要使用用户名密码登入。并且设置的user、role等权限。那么之前直接访问的方式是不行的。需要使用认证的方式进行访问。Elasticsearch的api非常的丰富。如:curl、python、java(多种)。下面展示curl、Python、Jav...

2019-07-18 16:47:59

Flink Table 将Stream追加写入Elasticsearch

Flink Table 将Stream追加写入ElasticsearchFlink Table提供了多种方式,写入ElasticSearch。一种是Connector的方式连接ElasticSearch,另一种是通过Sink的方式。下面分别介绍2种方式。一、Connector的方式写入Elasticsearchpublic class SqlSinkElasticSearchStream {...

2019-07-17 13:59:12

Flink Table 将Stream直接写入MySQL数据库

Flink Table 将Stream直接写入MySQL数据库Flink Table提供了一个JDBCAppendTableSink,可以直接往可靠地数据库中Sink数据,下面以MySQL为例:添加Maven的pom.xml依赖<dependency> <groupId>org.apache.flink</groupId> <arti...

2019-07-17 09:37:30

Flink Table 将kafka流数据追加到Csv格式文件

Flink Table 将kafka流数据追加到Csv格式文件Flink Table可以很好的将Stream数据直接写入到文件系统。示例如下:代码示例public class SqlSinkFileSystemStream { public static void main(String[] args) throws Exception { StreamExecuti...

2019-07-15 17:59:11

Flink Table 基于Processing Time、Event Time的多种Window实现

Flink Table 基于Processing Time、Event Time的多种Window实现Flink 提供了Table Api,用来统一批流入口,使用Flink Table Api,直接处理流,会特别的简洁,易用。下面来看下使用Flink Table Api实现 Tumble Window(翻滚窗口)、Slide Window(滑动窗口)、Session Window(会话)。一...

2019-07-15 17:58:21

Flink Stream日志写入Kafka集群

Flink Stream日志写入Kafka集群Flink Stream的输出日志,直接输出的Kafka集群,进行持久化。一、log4j.properties文件配置log4j.rootLogger=INFO,file,kafkalog4j.logger.org.apache.kafka=INFO#############################################...

2019-07-12 14:30:55

Flink DataStream之Kafka数据写入HDFS,并分区到Hive

Flink DataStream之Kafka数据写入HDFS,并分区到Hive因业务要求,我们需要从Kafka中读取数据,变换后最终Sink到业务的消息队列中,为保证数据的可靠性,我们同时对Sink的结果数据,进行保存。最终选择将流数据Sink到HDFS上,在Flink中,同时也提供了HDFS Connector。下面就介绍如何将流式数据写入HDFS,同时将数据load到Hive表中。一、po...

2019-07-10 11:05:20

Flink DataStream Async I/O(异步IO)

Flink DataStream Async I/O(异步IO)当我们在Operator算子中,需要与外部系统交互时(例如:查询数据库),如果我们使用同步的方式,那么容易造成该Operator计算延迟,吞吐量低。所以Flink 提供了Async I/O机制,可以通过异步操作,处理查询数据库等类似耗时的操作。与数据库的异步交互意味着单个并行函数实例可以同时处理许多请求并同时接收响应。这样,等待时...

2019-07-04 15:04:11

Flink DataStream KeyedProcessFunction实现类似Session Window功能

Flink DataStream KeyedProcessFunction实现类似Session Window功能一、KeyedProcessFunction功能介绍KeyProcessFunction是一个低级的Stream处理操作(Operator),可以更加灵活的处理Stream的业务逻辑,它可以访问所有流应用程序的基本构建块:事件(Event)状态(State,仅支持KeyedS...

2019-07-04 15:03:22

Flink Checkpoint(检查点)

Flink Checkpoint(检查点)Flink中的每个函数和运算符都可以是有状态的(如果是Keyed Stream,使用ValueState、ListState等状态,如果是Operator State,实现CheckpointedFunction或CheckpointedList接口。使用ListState、MapState获取状态)。有状态的函数在各个元素/事件处理中存储数据。使状态成...

2019-07-03 16:31:32

Flink DataStream Window

Flink DataStream WindowWindows是处理无限流的核心。Windows将流拆分为有限大小的"桶",这样可以在Window中进行聚合操作。窗口的生命周期:一般当第一个元素到达时,创建窗口,当(处理时间或事件时间)时间大于等于其结束的时间,窗口进行触发计算,计算结束后,窗口将完全删除。1. Window的分类Window可以分为2类,分别为:Keyed Windows(...

2019-06-27 17:30:26

Flink DataStream之min()与minBy(),max()与max之间的区别

Flink DataStream之min()与minBy(),max()与max之间的区别min():获取的最小值,指定的field是最小,但不是最小的那条记录,后面的示例会清晰的显示。minBy():获取的最小值,同时也是最小值的那条记录。max()与maxBy()的区别也是一样。那么下面来看示例:public class MinOrMinByOperator { publi...

2019-06-05 18:10:43

Flink的多种提交方式

Flink的多种提交/运行方式Flink具有多种提交方式,比如:常用的local模式,stantalone模式,yarn模式,k8s等。这里主要对比local,stantalone,yarn三种提交方式。一、本地(local)模式,仅开发使用1.1 纯粹的local模式运行这就是直接运行项目中的代码的方式提交:public class TestLocal { public st...

2019-05-29 15:20:45

Flink的Session Window的简单使用

Flink的Session Window的简单使用一、Session Window的概念参见官方文档https://ci.apache.org/projects/flink/flink-docs-release-1.8/dev/stream/operators/windows.html#session-windows二、业务需求本文的需求是:通过flink处理用户的行为日志,如果...

2019-05-09 16:38:30

Flink DataStream 广播状态模式

Flink DataStream 广播状态模式我们使用State描述了Operator State,在恢复时,可以修改并行度重新分配Operator State(偶分裂再分配方式),或者使用Union的方式(联合重新分发)恢复并行任务。Operator State还有一种广播状态模式(Broadcast State)。引入广播状态是为了支持这样的用例,其中来自一个流的一些数据需要被广播到所有...

2019-07-02 18:24:29

Flink DataStream Manager(托管) Operator State的简单使用

Flink DataStream Manager(托管) Operator State的简单使用要使用Manager(托管) Operator State,需要实现CheckpointedFunction接口或者ListCheckpointed<T extends Serializable>接口。一、CheckpointFunctionCheckpointedFunction接口...

2019-07-02 15:40:02

查看更多

勋章 我的勋章
  • GitHub
    GitHub
    绑定GitHub第三方账户获取
  • 脉脉勋章
    脉脉勋章
    绑定脉脉第三方账户获得
  • 专栏达人
    专栏达人
    授予成功创建个人博客专栏的用户。专栏中添加五篇以上博文即可点亮!撰写博客专栏浓缩技术精华,专栏达人就是你!
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!
  • 勤写标兵Lv4
    勤写标兵Lv4
    授予每个自然周发布9篇以上(包括9篇)原创IT博文的用户。本勋章将于次周周三上午根据用户上周的博文发布情况由系统自动颁发。