大数据
深寒色的猫丶
守正出奇,心底有光,不舍昼夜 - 袁杰
展开
-
oozie调度sqoop踩坑之路(hue配置)
背景: 通过oozie来调度管理sqoop数据抽取流程,一般有两种方法:一是直接使用oozie的sqoop-action,二是将sqoop语句写在shell脚本中,通过shell-action来调度。经过测试,sqoop-action实在是坑多,故采用坑相对较少的shell-action~集群环境:CDH 5.13.0 ,其中oozie版本:4.1.0,sqoop版本:1.4.6...原创 2018-08-27 23:36:52 · 15197 阅读 · 12 评论 -
oozie时区问题 (CDH环境)
背景: 配置oozie的 coordinator job时必然会遇到时区问题,在此记录下解决方案~集群环境:CDH 5.13.0 ,其中oozie版本:4.1.0注:以下四步最好都修改一、Hue中配置由于我们都是通过hue对oozie进行配置,所以首先保证hue中 time_zone为 Asia/Shanghai 二、oozie-web控制台配置我们可以在o...原创 2018-08-29 00:07:26 · 2673 阅读 · 0 评论 -
Hive on oozie以及action间参数传递
背景: 简单介绍下 hive action的使用,以及action间是如何进行参数传递的,这也是进行多job调度必备的操作~集群环境:CDH 5.13.0 ,其中oozie版本:4.1.0,hive版本:1.1.0一、Hue配置 Hive actionhue上创建hive任务必须添加两个配置项:script 和 hive xml 其中: script 指的是hive ...原创 2018-08-30 00:08:53 · 2557 阅读 · 1 评论 -
Sqoop从Mysql导出到Hive的几个需要注意的地方
背景: 在此记录下使用 sqoop将数据从mysql导出到 hive过程中需要注意的几个地方,包括 NULL值处理、增量导入、parquet格式的日期类型注:这种数据传输工具其实没必要深究所有用法,用到哪块去研究下就行了Sqoop版本:1.4.6 - CDH5.13.0一、NULL处理1. 观察测试先看执行语句: sqoop import --connect j...原创 2018-08-25 22:10:48 · 5480 阅读 · 0 评论 -
HBase统计表行数(RowCount)的四种方法
背景:对于其他数据存储系统来说,统计表的行数是再基本不过的操作了,一般实现都非常简单;但对于HBase这种key-value存储结构的列式数据库,统计 RowCount 的方法却有好几种不同的花样,并且执行效率差别巨大!下面来研究下吧~测试集群:HBase1.2.0 - CDH5.13.0 四台服务器注:以下4种方法效率依次提高一、hbase-shell的count命令这是最简单直接...原创 2018-09-27 00:32:19 · 49344 阅读 · 7 评论 -
HBase在SpringBoot项目里的应用(含HBaseUtil工具类)
背景:项目这两个月开始使用HBase来读写数据,网上现成的HBase工具类要么版本混杂,要么只是Demo级别的简单实现,各方面都不完善;而且我发现HBase查询有很多种方式,首先大方向上有 Get 和 Scan两种,其次行键、列族、列名(限定符)、列值(value)、时间戳版本等多种组合条件,还有各种过滤器的选择,协处理器的应用,所以必须根据自己项目需求和HBase行列设计来自定义HBase...原创 2018-10-24 00:28:14 · 14059 阅读 · 9 评论 -
CDH集群安装Phoenix服务
背景:之前我们都是通过原生的 hbase-java api根据业务需求来查询hbase,每有一个查询需求都需要定制化开发相关的查询代码,较为麻烦,而且在性能优化等方面优化也是需要着重注意;目前业界使用 Phoenix操作HBase比较普遍,该方案无论是开发效率还是性能提升都能得到不错的保证,在这篇博客中记录下CDH集群如何安装Phoenix服务~集群信息:版本:CDH 5.13.0四台机...原创 2018-12-09 17:34:27 · 1667 阅读 · 4 评论 -
Flume实时采集日志到Kafka(极简版)
背景:由于项目采用微服务架构,业务日志文件数量较多,我做了个简单的日志监控服务,先在此分享下日志采集的简单步骤,没有任何花里胡哨 ~(ps:一切数据到了 kafka就非常好解决了!)一、Flume安装Flume的安装使用可以说非常简单,直接进官网:http://flume.apache.org/最新是1.9.0版本,我们选择1.8.0版本下载。然后在Linux下解压:配置用...原创 2019-04-01 22:04:34 · 14510 阅读 · 5 评论 -
关于Flume断点续传(防止重复消费)的解决方案
背景:前段时间写了个 Flume实时采集日志到 Kafka(极简版),其中我们是使用 exec source执行 tail命令来监控采集日志的,但这样做会存在一些问题:如果agent进程突然挂了,下次重启采集任务,会导致日志文件内容重复采集,虽然进程挂了这种事情不常发生,当我们还是要尽量避免因此带来的负面影响!一、方案选择和一些朋友交流过Flume断点续传问题,他们往往是自己修改sourc...原创 2019-04-20 17:26:10 · 8431 阅读 · 6 评论 -
oozie初步使用之执行MR任务(非hue配置)
背景: 此处介绍oozie简单执行一个MR任务的基本流程,采用的是官网的Example进行测试,job.properties文件是自己手动配置的,jar包 和 workflow.xml 用Example自带的配置!由于自己配置稍微有些麻烦,后面的介绍我会基于 Hue进行可视化配置~oozie server version:4.1.0 - CDH5.13.0操作流程在Linux...原创 2018-08-26 19:05:26 · 1441 阅读 · 0 评论 -
大数据调度工具oozie详细介绍
背景: 之前项目中的sqoop等离线数据迁移job都是利用shell脚本通过crontab进行定时执行,这样实现的话比较简单,但是随着多个job复杂度的提升,无论是协调工作还是任务监控都变得麻烦,我们选择使用oozie来对工作流进行调度监控。在此介绍一下oozie~注:我的 Oozie server version:[4.1.0 - CDH 5.13.0]一、官网介绍首先看官网首...原创 2018-08-17 22:55:53 · 20681 阅读 · 0 评论 -
Kafka整合SparkStreaming2.2的一下午(奇葩错误一堆)
集群环境:CDH 5.13.0,Spark 2.2.0,Scala 2.11.0ps:没营养的错误。。有些难受。还是要多看看源码啊。。1.重头:Kafka整合SparkStreaming官网整合文档:http://spark.apache.org/docs/2.2.0/streaming-kafka-0-10-integration.html 此处选择kafka 0.10版本...原创 2018-03-16 10:11:55 · 3379 阅读 · 0 评论 -
CDH集群 Spark1.6 升级到 Spark2.2 全纪录
注:公司CDH集群版本为5.13.0 我们用的CDH 5.13.0集群几乎算是最新的版本了,但默认安装的Spark依旧是1.6版本,看来1.6的确经典啊。。但鉴于Spark2.0以后变化较大,为了方便新来员工技术发展,我决定把Spark1.6升级为spark2.2版本(2.3版本刚出不久,算是最新了)。经查阅官方文档,发现spark1.6和2.x是可以并行安装的,也就是说可以不用删除默认...原创 2018-03-14 10:17:53 · 5289 阅读 · 6 评论 -
记一次MR报错:Container is running beyond physical memory limits,Current usage...
背景: 使用sqoop将公司数仓(mysql-myisam架构)中的mysql表导出为Hive表,遇到如下错误(之前也遇到过,但没有记录,本次着重记录下)(集群为CDH5.13.0)1、详细错误记录注:从上往下慢慢看下去会有收获的!Warning: /home/cdh/cloudera/parcels/CDH-5.13.0-1.cdh5.13.0.p0.29/bin/../l...原创 2018-05-16 00:30:53 · 12871 阅读 · 0 评论 -
CDH集群oozie报错:Oozie web console is disabled
背景: 最近计划大数据集群任务调度工具采用oozie,而我们CDH集群自带的oozie控制台页面打开报错,在此记录下解决方案1、错误 这个问题网上也挺多人遇到,不知道是不是默认安装CDH都会有这个问题。2、解决方案可以点击下面的 Oozie Quick Start,定位下来可以确定是缺少 ExtJS 2.2我们先进入CDH主目录下看看: 我的路径为:/home...原创 2018-05-29 23:07:30 · 2846 阅读 · 1 评论 -
shell统计日志文件实现指定格式Top10
背景: 无论oracle、hive还是spark等都有实现该功能的函数,但我们如何利用 linux-shell命令来处理用户访问日志实现top10功能呢?这相对比较偏底层了,了解下很有好处~一、需求日志文件: haha.txt 字段分隔符为:\t 字段说明: 时间 用户id 访问的url日志文件部分内容如下:2018-05-17 00:00:06 99986406000...原创 2018-07-29 15:23:53 · 1771 阅读 · 0 评论 -
SQL子查询优化
背景: 在此研究下SQL子查询的相关知识 ~ 以下内容主要参考《数据库查询优化器的艺术》一书一、子查询介绍概念:当一个查询是另一个查询的子部分时,称之为子查询(查询语句中嵌套有查询语句)。子查询出现的位置有:a)目标列位置:子查询如果位于目标列,则只能是标量子查询,否则数据库可能返回类似“错误: 子查询必须只能返回一个字段”的提示。注:标量子查询 - SQL允许子查...原创 2018-07-26 23:26:36 · 6905 阅读 · 0 评论 -
Hive开窗函数总结
背景: 平常我们使用 hive或者 mysql时,一般聚合函数用的比较多。但对于某些偏分析的需求,group by可能很费力,子查询很多,这个时候就需要使用窗口分析函数了~ 注:hive、oracle提供开窗函数,mysql不提供版本:Hive 1.1.0 + cdh5.13.0一、介绍分析函数用于计算基于组的某种聚合值,它和聚合函数的不同之处是:对于每个组返回多行,而...原创 2018-08-05 12:56:25 · 37905 阅读 · 10 评论 -
Hive中使用 with as 优化SQL
背景: 当我们书写一些结构相对复杂的SQL语句时,可能某个子查询在多个层级多个地方存在重复使用的情况,这个时候我们可以使用 with as 语句将其独立出来,极大提高SQL可读性,简化SQL~ 注:目前 oracle、sql server、hive等均支持 with as 用法,但 mysql并不支持!一、介绍with as 也叫做子查询部分,首先定义一个sql片段,该sql片...原创 2018-07-31 23:29:06 · 71262 阅读 · 12 评论 -
Hive collect、explode函数详解(包括concat、Lateral View)
背景: 最近需要对业务系统数据进行ETL,供机器学习训练,我们需要对数据进行关联聚合,多行或多列数据转换为单行单列这种操作很常见;正好hive提供collect函数可以实现这种格式需求,我们在这整理下用法,顺便扩展一下~一、collect_set 和 collect_list 函数collect_set / collect_list(col)函数只接受基本数据类型,它的主要作用是...原创 2018-08-08 12:05:41 · 21979 阅读 · 4 评论 -
安装kafka-manager监控Kafka集群状态(搭配kafka tool使用)
背景:CDH集群管理界面不提供Kafka具体的状态监控,需要自己安装相关工具,我们选择比较经典的yahoo开源工具 kafka-manager,搭配 kafka tool客户端工具使用。这里简单介绍下安装过程 ~一、下载直接在GitHub官网下载即可:https://github.com/yahoo/kafka-manager需要注意的一点:由于我们集群是0.11版本,完美支持。如...原创 2019-05-22 23:04:41 · 2715 阅读 · 1 评论