大数据
懒的执行力度无敌
在等等,马上就好
展开
-
Flink 自定义Source 读取Mysql
object CustomSource { def main(args: Array[String]): Unit = { val env: StreamExecutionEnvironment = StreamExecutionEnvironment.getExecutionEnvironment val stringDataStream: DataStream[Provi...原创 2019-12-20 15:22:58 · 856 阅读 · 0 评论 -
Spark on Yarn分析
Spark所有的任务,都是由Spark-submit来提交的。所以我们从这个类看起。SparkSubmitoverride def main(args: Array[String]): Unit = { //配置启动参数 val appArgs = new SparkSubmitArguments(args) //是否打印参数,我们不用在意这个 if (appA...原创 2019-11-28 11:58:05 · 194 阅读 · 0 评论 -
Elasticsearch KeyWord和Text
今天写代码的时候遇到一个问题我们可以看到我们的gender有两个属性F、M但是我们下面这样写代码并查不到数据看别人这样写,又能查到数据出于对求知的欲望,研究了一下为什么有了以下结论。Elasticsearch两大数据类型ES有两个数据类型,keyword和text。keyword表示不会被自动分词,而text会自动分词分词后的字母会全部转为小写。而我数据正好是通过自动导入的,于...原创 2019-11-22 20:21:21 · 1521 阅读 · 0 评论 -
Spark 复习
简介Spark是一种基于内存的快、通用、可扩展的大数据分析引擎特点快Spark与Map Reduce相比,基于内存的运行要快100倍,基于硬盘的运算要快10倍以上。其中间结果可以缓存在内存中,达到复用的目的。易用Spark支持Java、Python、Scala的API,还支持超过80种高级算法,使用户可以快速的构建不同的应用。而且Spark支持交互式的Python和Scalal...原创 2019-11-17 15:35:07 · 309 阅读 · 0 评论 -
Kafka ISR和offset小结
Kafka小结使用Kafka的好处解耦允许你独立的扩展或修改两边的处理过程,只要确保她们遵守同样的接口约束可恢复性系统的一部分组件失效时,不会影响整个系统。并且即使一个处理消息的进程挂掉,新加入的消息也可以在系统恢复后被处理(通过每个消费者组对于主题保留的offset)缓冲有助于控制和优化数据流经过系统的速度,解决生产消息和消费消息的处理速度不一致问题。去峰值&am...原创 2019-11-14 16:58:38 · 402 阅读 · 0 评论 -
hive:存储格式和压缩算法
存储格式(hive自带的存储格式)aba1b1a2b2a3b3什么是按行存储?a1b1a2b2a3b3什么是按列存储?a1a2a3b1b2b3两者存储的形式不同,造成了不用的应用场景。行存储更费空间,而且如果查询一整行数据的情况多的时候,因为按行存储,整行的元素都在附近,读取效率就更高。反之,如果查询的只是几个字段,按列效率会更高,而且按列存储...原创 2019-10-11 21:39:55 · 512 阅读 · 0 评论 -
sqoop从mysql导入数据到hive
sqoop从mysql导入数据到hive环境:hadoop 2.7.2hive 2.3.6sqoop 1.4.7安装Sqoopsqoop-1.4.7下载地址下载下来解压后配置cd $SQOOP_HOME/confmv sqoop-env-template.sh sqoop-env.sh vi sqoop-env.sh#根据你的实际情况配置#Set path to w...原创 2019-09-19 21:12:36 · 2179 阅读 · 0 评论 -
sqoop job 实现自动增量导入
sqoop job 实现自动增量导入普通的增量导入# 这个问题在于我们每次再增量导入的时候就要手动去更改--last-value \的值。# 否则就每次都是全量导入。显得不灵活bin/sqoop import \--connect jdbc:mysql://hadoop001:3306/learn \--username root --password 123456 \--tabl...原创 2019-09-20 10:37:34 · 798 阅读 · 4 评论 -
Flume使用
Flume使用exec可配置项(官网搬过来的)Name Default Descriptionchannels – type – 组件类型,必须是execcommand – 要执行的指令shell – A shell ...原创 2019-09-21 11:06:16 · 212 阅读 · 0 评论 -
如何理解Flume hdfs sink的roll和round
roll相关roll相关的字段作用对象是文件字段默认值说明rollInterval30每隔30秒截断一个文件。设置为0表示不会因为时间间隔截断文件rollSize1024文件字节数超过1024截断一个文件。设置为0就不因为文件大小截断文件rollCount10每10个event截断一个文件。设置为0就不因为event数量截断文件别的都好理解。...原创 2019-09-21 12:40:03 · 2078 阅读 · 0 评论 -
Flume容错机制 : Sink Processor
Sink Processors是作用在sink组件上的容错机制。通过调度Sink Groups(就是分了组的Sinks),可以做到负载均衡(load_balance Processors)和类似HDFS中Namenode高可用(Failover Processors )那样的目的。Failover Sink ProcessorNameDefaultDescriptions...原创 2019-09-21 18:22:26 · 528 阅读 · 0 评论 -
Azkaban执行Sqoop任务
Azkaban执行Sqoop任务只能调度Sqoop的脚本.project文件azkaban-flow-version: 2.0.flownodes: - name: insert_RDS_sales_order_data type: command config: command: /opt/moudle/sqoop/bin/sqoop --optio...原创 2019-09-26 10:56:08 · 1963 阅读 · 0 评论 -
Azkaban 运行DataX
.projectazkaban-flow-version: 2.0.flownodes: - name: job_mysql_to_hive type: command config: command: /usr/local/bin/python /opt/moudle/datax/bin/datax.py mysql2hive.json...原创 2019-09-26 12:00:16 · 1516 阅读 · 0 评论 -
CentOS6.8 安装Hue 4.2.0
CentOS6.8 安装Hue 4.2.0我也不知道为什么我这么坎坷。不知道还有谁会遇到我一样的问题。前提环境准备环境:python2.6.6 如果是python2.7.5+你会发现你的问题会少很多。但是奈何我是2.6.6,还不会改。jdk1.8maven3.6mysql5.7Hue下载地址,里面找你想下载的版本就行了1. 将jdk与maven配置到环境变量2. yum -...原创 2019-09-26 18:53:58 · 311 阅读 · 0 评论 -
拉链表和流水表
拉链表和流水表都是为了记录数据的历史信息。只是数据粒度的不同。流水表精确到每天的每一条变化都记录其历史。而拉链表的粒度可控,一般选择每天为粒度,即每天的最终变化才记录。所以理解了拉链表,自然就知道流水表了。下面通过一个例子理解一下拉链表2019-9-10用户id金额时间0015002019-9-10 12:00:000026002019-9-10 7...原创 2019-10-10 11:06:04 · 912 阅读 · 0 评论 -
Hive2.3.6更换TEZ引擎
Hive2.3.6更换TEZ引擎前提环境1. hadoop 我的是2.7.12. hive 我的是2.3.6Tez环境准备下载Tez的安装包解压环境准备进去Tez安装目录下的conf目录[root@hadoop001 conf]# vi tez-site.xml<?xml version="1.0" encoding="UTF-8"?><...原创 2019-09-18 20:36:47 · 1033 阅读 · 0 评论 -
DataX 阿里离线数据同步工具
DataX 阿里离线数据同步工具下载地址: datax下载地址官方指南:Quick Start介绍DataX 是阿里巴巴集团内被广泛使用的离线数据同步工具/平台,实现包括 MySQL、SQL Server、Oracle、PostgreSQL、HDFS、Hive、HBase、OTS、ODPS 等各种异构数据源之间高效的数据同步功能。datax其实就像Flume一样~,它们两个的架构都一样...原创 2019-09-18 18:54:35 · 1037 阅读 · 0 评论 -
看了包懂SecondaryNamenode的工作机制
SecondaryNamenode工作机制前提知识点 HDFS中,有NameNode和DataNode两种节点。 DataNode是真正存数据的地方。NameNode存的是一种叫元数据的东西。而元数据可以理解为文件在磁盘中的目录(这个文件被分成几块、每块都在哪些机器上)。客户端请求查询数据的时候,通过NameNode查询到的元数据就能方便的在集群上不同的机器上找到需要的数据。 元数据...原创 2019-08-29 20:05:03 · 185 阅读 · 0 评论 -
MapReduce流程思维导图
原创 2019-09-02 21:52:35 · 392 阅读 · 0 评论 -
Namenode启动机制(源码跟踪)
原创 2019-09-03 09:40:58 · 166 阅读 · 0 评论 -
MapReduce工作流程
MapReduce 运行机制作业提交作业切片客户端会先去拉取需要处理的数据文件,并对其切片(规划),并生成一个job.split,文件里面记录着所有文件的切片信息。切片原理普通文件文件/切片大小<1.1直接一个切片文件大于/切片大小>1.1先一个个切片(就按照切片大小)最少一个切片按照切片1.1倍的大小切。for(bytesRemaining ...原创 2019-09-03 10:43:00 · 118 阅读 · 0 评论 -
yarn作业调度介绍
yarn作业调度容器调度(Capacity Scheduler) Capacity调度器,有一个专门的队列用来运行小任务,但是为小任务专门设置一个队列会预先占用一定的集群资源,这就导致大任务的执行时间会落后于使用FIFO调度器时的时间。工作逻辑 Capacity Schedule调度器以队列为单位划分资源。简单通俗点来说,就是一个个队列有独立的资源,队列的结构和资源是可以进行配置...原创 2019-09-05 19:49:04 · 275 阅读 · 0 评论 -
MapReduce自定义InputFormat原理分析
原创 2019-09-05 21:35:36 · 108 阅读 · 0 评论 -
MapReduce 优化
MapReduce 优化MR效率的瓶颈计算机硬件性能I/O操作数据倾斜map和reduce数设置不合理map运行时间太长,导致reduce等待过久小文件过多大量的不可分块的超大文件spill次数太多merge次数过多MR优化的方法数据的输入合并小文件:在执行mr任务之前将小文件合并,大量的小文件会产生大量的map任务,增大map任务装载次数,而任务的装载比较耗...原创 2019-09-06 08:11:33 · 164 阅读 · 0 评论 -
记录一次 Linux Mysql 安装
Mysql 安装MySQL-client-5.6.24-1.el6.x86_64.rpmMySQL-server-5.6.24-1.el6.x86_64.rpm正规操作rpm -ivh 安装 server和client后提示密码存放在了/root/.mysql_secret下service mysql start修改mysql root用户登录密码,并授权远程登录...原创 2019-09-06 09:02:21 · 75 阅读 · 0 评论 -
HIVE安装
HiveMysql 安装MySQL-client-5.6.24-1.el6.x86_64.rpmMySQL-server-5.6.24-1.el6.x86_64.rpm正规操作rpm -ivh 安装 server和client后提示密码存放在了/root/.mysql_secret下service mysql start修改mysql root用户登录密码,并授权远...原创 2019-09-06 16:23:33 · 71 阅读 · 0 评论 -
MapReduce一次Map读n行数据
MR题目:如何一次Map读n行数据输入数据{"name":"ta","age":12,"sex":1}{"name":"la","age":13,"sex":2}{"name":"la","age":13,"sex":2}{"name":"la","age":13,"sex":2}{"name":"la","age":13,"sex":2}{...原创 2019-09-08 09:40:32 · 675 阅读 · 2 评论 -
Hive基础
Hive基础hive不能使用关键字、数字开始的字符串来命名库和表,尽量不要使用特殊符号。同时不区分大小写。基本语法创建表-- EXTERNAL 外部表-- 默认是创建内部表-- 内部表删除时会删除元数据和HDFS中表对应的目录,而外部表只会删除元数据不会删除对应的目录数据create [EXTERNAL] table if not exists db_name.table_name...原创 2019-09-09 17:22:58 · 393 阅读 · 0 评论 -
Hive中自定义函数
实现定义一个类,继承UDF,然后写evaluate方法查看UDF类,会发现并没有这个方法(版本1.2.1))),所以说重写有点牵强~源码中这样写到:Implement one or more methods named {@code evaluate} which will be called by Hive (the exact way in which Hive resolves...原创 2019-09-11 19:54:33 · 218 阅读 · 2 评论 -
HDFS DataNode节点服役退役
新节点服役前期准备准备一台新的虚拟机环境和集群机器环境相同修改主机IP和主机名称删除hadoop目录下的data 和log文件夹配置hdfs和yarn对于新节点的SSH免密登陆新节点配置在namenode节点上 etc/hadoop/目录下新建dfs.hosts文件(文件名任意) 输入以下内容。hadoop104是新服务节点hadoop101hadoop102h...原创 2019-09-11 20:59:38 · 690 阅读 · 0 评论 -
log4j1.2.15 依赖 jmxri-1.2.1 jmxtools-1.2.1
log4j1.2.15依赖 jmxri-1.2.1 jmxtools-1.2.1 今天换成阿里的Maven镜像后发现尝试导Zookeeper的依赖出现了log4j依赖文件。缺少jmxri-1.2.1.jar jmxtools-1.2.1.jar。虽然没有这两个jar好像还是能够用Zookeeper。 出于强迫症还是去找了一下这两个jar。链接:https://pan.baidu.com...原创 2019-09-12 12:40:08 · 523 阅读 · 1 评论 -
Flume介绍
Flume介绍Flume是什么是一个分布式的高效的海量日志数据收集工具。是一个分布式、可靠、可用的高效的日志数据收集、聚合、移动的工具。Hadoop总体的业务流程特点以及优势Fulme可以将数据存储到任何集中的存储器中,比如HDFS、HBase可以对数据生产者和数据接收容器之间做个均衡,保证二者的平衡。Flume的管道是基于事务的,保证了数据在传输和接收时的一致...原创 2019-09-15 15:48:33 · 160 阅读 · 0 评论 -
HIve1.x升级到2.x且保留元数据
HIve1.x升级到2.x,且保留元数据下载源码包或者编译过的二进制包都无所谓(源码的就自己编译一下)。先备份原来的hivemv hive-1.2.1/ hive-1.2.1-back/解压新版的hive到相同的目录并更名为hive-1.2.1(原来hive的名称,为了不去修改环境变量什么的,这样方便点)升级元数据,hive已经为我们准备好了升级元数据的脚本了,我们只需...原创 2019-09-17 21:06:48 · 341 阅读 · 0 评论 -
Datanode加载过程(源码解析过程)
原创 2019-08-30 20:24:26 · 70 阅读 · 0 评论