自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(80)
  • 收藏
  • 关注

原创 CDH开启静态资源池后报错

开启静态资源池后报错main : run as user is nobodymain : requested yarn user is rootCan't create directory /data1/yarn/nm/usercache/root/appcache/application_1566281848337_0001 - Permission deniedCan't cre...

2020-02-05 15:24:20 978 1

原创 Hue webUI设置中文界面

修改desktop下的setting.pycd /opt/cloudera/parcels/CDH/lib/hue/desktop/core/src/desktop/vimsetting.py修改LANGUAGE_CODE = 'zh_CN'#LANGUAGE_CODE = 'en-us'LANGUAGES = [ ('de', ('German')), ('...

2020-02-05 15:23:35 1545 3

原创 CDH升级后 /etc/alternatives 软链接指向旧版本问题

CDH6.0.1升级6.2.0后,使用hdfs命令发现不存在,检查发现 /etc/alternatives 下的相关软链接仍然指向6.0.1。修改alternatives --config 例如修改zookeeper-server输入相应版本的编号 enter确定,再查看,变成绿色可用状态OK了。alternatives --configzoo...

2020-02-05 15:23:11 731

原创 CDH 交换分区报警

配置环境时已经设置交换区使用为0# 查看cat /proc/sys/vm/swappiness# 0 # 修改echo "vm.swappiness = 0" >> /etc/sysctl.conf # 生效sysctl -p报警情况 :解决办法# 查看swap使用情况free -h# 查看swap挂载swapon -s...

2020-02-05 15:22:35 286

原创 CDH 邮件通知警报

CM Service 设置警报smtp,用户名和发件人填邮箱名,密码是授权密码,而不是登录邮箱的密码发件邮箱开启 stmp测试如果不成功可以监听 Alert publisher 日志查看错误原因,大多报错都是密码不是填写的授权密码tail -F /var/log/cloudera-scm-alertpublish...

2020-02-05 15:20:57 730

原创 CDH 外网IP无法访问 HDFS WebUI

服务器搬迁机房,与个人电脑不在同一局域网,无法访问HDFS WebUI。监听端口,发现监听的是内网IPnetstat -nltp | grep 9870CDH HDFS 中,将 NameNode 绑定到通配符地址,修改为勾选,重启服务。再查看,已经更改为监听 0.0.0.0:9870,可以成功访问 HDFS WebUI。另外Y...

2020-02-05 15:20:13 604 1

原创 Spark资源优化

提交Spark程序时,资源调优是必须的,否则会默认运行2个executor,每个executor内存1G。这里主要针对资源利用做个总结。主要涉及--num-executors--executor-memory--executor-cores--conf spark.default.parallelism服务器节点YARN可用资源服务器 单节点cores 总c...

2020-01-20 16:11:09 148

原创 Spark性能测试Terasort

上次做了Hadoop集群的性能测试,因为主要的大数据开发工作在Spark上,这次做一下Spark的性能测试。CDH6.0.1环境Hadoop集群性能测试代码参考:spark-terasort因为使用的CDH6.0.1,Spark版本2.2.0,代码需要做一些修改,这里已经在Spark2.3源码下修改好并编译打包,放到了Spark的examples里,可以替换Spark的exampl...

2020-01-20 16:10:45 724 1

原创 Spark2.4.3源码解析之总目录

1. Spark源码解析之启动脚本解析 2.Spark源码解析之org.apache.spark.launcher.Main源码解析 3. Spark源码解析之Master启动流程解析 4. Spark源码解析之Master实例化流程解析 5.Spark源码解析之worker启动流程解析 6. Spark源码解析之Worker实例化流程解析 7. Spark源码解析之org.apa...

2020-01-20 16:10:10 148

原创 Spark源码解析之org.apache.spark.launcher.Main源码解析

不管是启动spark-shell,或者通过spark-submit提交jar,还是其他其他master或者worker的脚本,最后都会进入spark-class,并调用launch.main方法构建执行命令。java -Xmx128m -cp ...jars org.apache.spark.launcher.Main "$@"也就是说org.apache.spark.launcher....

2020-01-20 16:09:36 1191 1

原创 Spark源码解析之org.apache.spark.deploy.SparkSubmit源码解析

前面解读launch.main的时候已经了解了spark-submit的提交流程,这里大概看下流程。当打jar提交到集群运行的时候,一般会设置一些参数,例如本地提交examples的SparkPi:spark-submit \--class org.apache.spark.examples.SparkPi \--master spark://192.168.2.1:7077 \D...

2020-01-20 16:08:59 993

原创 IDEA本地启动Spark的Master和Worker

在Windows环境IDEA上解读Spark源码的时候,为了查看参数传递,总是连接服务器很麻烦。简单实现从本地启动Spark的Master和Worker,方便源码解读。1. 添加Maven依赖在spark-parent的pom.xml中添加guava依赖<!-- https://mvnrepository.com/artifact/com.google.guava/guav...

2020-01-19 15:16:19 266

原创 Spark源码解析之Yarn Cluster模式启动流程源码解析

这里解读当sparksubmit提交模式为Yarn Cluster模式时的启动流程。SparkSubmit类的runMain()中执行到start()时,本地模式会进入本地提交的--class类的main中开始执行。 // 启动实例 app.start(childArgs.toArray, sparkConf)而Yarn Cluster模式,在prep...

2020-01-19 15:15:08 596

原创 CDH环境Spark on Hue

Hue设置 --hue_safety_valve.ini[desktop] app_blacklist= use_new_editor=true [notebook] show_notebooks=true enable_batch_execute=true enable_query_builder=true[[interpreters]][[[hive...

2020-01-19 15:14:08 591

原创 SparkSql 读写Hive 分区表(数据清洗类)

主要使用 SparkSql 对 Hive 分区表使用动态分区进行操作,根据规则对数据进行清洗等,除了刚导入数据时指定date范围清洗,后期按天进行清洗。package com.sm.cleandataimport java.io.Fileimport java.util.Propertiesimport com.sm.conf.ConfigurationManageri...

2020-01-19 15:13:12 3111 1

原创 Spark 读取 MySQL 的 tinyint(1) 类型字段数据为 true 和 false

场景Spark 读取 MySQL 数据写入Hive。MySQL 中存在字段类型为tinyint(1) 。Spark读取结果为写入Hive 后,结果为 0 和 1,除了 0 以外数值都为1。原因MySQL 中 Boolean 的类型为 tinyint(1),1 表示true,0 表示 false。即boolean = tinyint(1)。解决...

2020-01-19 15:11:23 531

转载 十大经典排序算法

转载自:十大经典排序算法(动图演示)目录0、算法概述1、冒泡排序(Bubble Sort)2、选择排序(Selection Sort)3、插入排序(Insertion Sort)4、希尔排序(Shell Sort)5、归并排序(Merge Sort)6、快速排序(Quick Sort)7、堆排序(Heap Sort)8、计数排序(Counting Sort)...

2020-01-17 16:16:06 165

原创 Oozie常用系统常量

常量表示形式 含义说明 ${coord:minutes(int n)} 返回日期时间:从一开始,周期执行n分钟 ${coord:hours(int n)} 返回日期时间:从一开始,周期执行n * 60分钟 ${coord:days(int n)} ...

2020-01-17 16:13:11 317

原创 Oozie可视化JS安装

CDH中打开Oozie webUI提示以下信息:Oozie web console is disabled.To enable Oozie web console install the Ext JS library.Refer toOozie Quick Startdocumentation for details.安装Oozie可视化JS:版本:根据文...

2020-01-17 16:12:46 172

原创 Oozie基于Hue全流程调度

使用任务调度框架Oozie调度业务数仓全流程。目录准备创建工作流定时调度Bundle准备1. 数仓流程说明业务数仓整个流程大致分为六个阶段,每个阶段都依赖于上阶段的计算结果,所以必须要上阶段执行完成再执行下一阶段:大致流程:MySQL -> HDFS -> ODS -> DWD -> DWS -> ADS -> ...

2020-01-17 16:12:17 636 1

原创 CDH Oozie调度邮件设置

CDH平台,Hue + Oozie 调度结果邮件通知设置。1. 开启SLA2. smtp设置3. Hue中,对Workflow任务进行设置4. 设置收件邮箱,结束时间可根据任务时长修改,其他可以默认5. 邮件通知内容...

2020-01-17 16:11:44 628

原创 Scala 元组Tuple

映射是 K/V 对偶的集合,对偶是元组的最简单形式。元组可以装多个不同类型的值,如果需要集合中元素类型多样性,就可以采用元组。创建元组元组最多22个元素// 二元元组val t = (1, "scala")val t = (1 -> "scala")val t = 1 -> "scala" // (1, scala)// 三元元组...

2020-01-16 18:18:01 278

原创 Scala 映射Map

在 Scala 中,把哈希表这种数据结构叫做映射, 在 Java 中也叫做映射,在 Python 中把哈希表这种数据结构叫做字典。Scala 的集合有三大类:序列 Seq、集 Set、映射 Map,所有的集合都扩展自 Iterable 。在 Scala 中集合有可变(mutable)和不可变(immutable)两种类型, immutable 类型的集合初始化后就不能改变了(注意与 val 修...

2020-01-16 18:17:22 198

原创 Scala集合Set、Map

Scala 的集合有三大类:序列 Seq、集 Set、映射 Map,所有的集合都扩展自 Iterable 。在 Scala 中集合有可变(mutable)和不可变(immutable)两种类型, immutable 类型的集合初始化后就不能改变了(注意与 val 修饰的变量进行区别)。不可变 Set创建不可变 HashSetval set1 = new HashSet[Int]...

2020-01-16 18:16:56 114

原创 Scala序列List

Scala 的集合有三大类:序列 Seq、集 Set、映射 Map,所有的集合都扩展自 Iterable。在 Scala 中集合有可变(mutable)和不可变(immutable)两种类型, immutable 类型的集合初始化后就不能改变了(注意与 val 修饰的变量进行区别)。目录不可变序列 1. 构建List 2. 插入 3. 追加 4. 合并 序列常用操作 可变...

2020-01-16 18:16:17 233

原创 Scala数组Array

目录1. 定长数组 1. 初始化定长数组 2. 转换成数组缓冲 2. 变长数组(数组缓冲) 1. 使用数组缓冲 2. 追加 3. 插入 4. 删除 5. 截断 6. 转成定长数组 3. 遍历数据 1、 增强 for 循环 2、 to 3、 until 4.数组转换 5.数组常用算法 6. 多维数组1. 定长数组1. 初始化定长数组1.初始化一...

2020-01-16 18:15:37 567

原创 Shell 工具

cutcut的工作就是“剪”,具体的说就是在文件中负责剪切数据用的。cut 命令从文件的每一行剪切字节、字符和字段并将这些字节、字符和字段输出。1.基本用法cut [选项参数] filename说明:默认分隔符是制表符2.选项参数说明表 选项参数 功能 -f 列号,提取第几列 ...

2020-01-15 15:59:40 114

原创 Shell 流程控制

if 判断1.基本语法if[ 条件判断式 ];then 程序 fi 或者 if [ 条件判断式 ] then 程序 elif [ 条件判断式 ]then程序else程序fi注意事项:(1)[ 条件判断式 ],中括号和条件判断式之间必须有空格(2)if后要有空格2.案例实操(1)输入一个数字,如果是1,则输...

2020-01-15 15:51:57 84

原创 Shell 运算符

1.基本语法(1)“$((运算式))”或“$[运算式]”(2)expr + , - , \*, /, % 加,减,乘,除,取余注意:expr运算符间要有空格2.案例实操:(1)计算3+2的值[zj@hadoop101 datas]$ expr 2 + 35(2)计算3-2的值(a)expr一步完成计算[zj@hadoop101 datas]$...

2020-01-15 15:45:21 120

原创 Shell 中的变量

1.系统变量1. 常用系统变量$HOME、$PWD、$SHELL、$USER等2.案例实操(1)查看系统变量的值[zj@hadoop101 datas]$ echo $HOME/home/zj(2)显示当前Shell中所有变量:set[zj@hadoop101 datas]$ setBASH=/bin/bashBASH_ALIASES=()BASH_...

2020-01-15 15:32:42 74

原创 Shell 解析器

(1)Linux提供的Shell解析器有:[zj@hadoop101 ~]$ cat /etc/shells/bin/sh/bin/bash/sbin/nologin/bin/dash/bin/tcsh/bin/csh(2)bash和sh的关系[zj@hadoop101 bin]$ ll | grep bash-rwxr-xr-x. 1 root root ...

2020-01-15 10:24:56 120

原创 正则表达式语法

字符 说明 \ 将下一字符标记为特殊字符、文本、反向引用或八进制转义符。例如,"n"匹配字符"n"。"\n"匹配换行符。序列"\\\\"匹配"\","\\("匹配"("。 ^ 匹配输入字符串开始的位置。如果设置了RegExp对象的Multiline属性,^ 还会与"\n"或"\...

2020-01-14 16:42:22 122

原创 Scalastyle Scala代码风格检测

记录下Scalastyle规则,方便查询。内容比较多,使用Ctrl + F 输入需要查询的检查器进行搜索查询。目录介绍规则使用示例Maven集成ScalastyleSpark的Scalastyle-config.xml介绍Scalastyle 是专门针对Scala代码开发的轻巧的code style检测工具,类似于Java代码检查工具Checkstyle、Fin...

2020-01-14 16:03:07 627 1

原创 Scala 常用注解

Scala的注解其实就是在编译时进行一些特殊的操作,很多是针对Java的概念提出的。简单的说,注解就是普通的类、变量、方法等,不过能让编译器支持特殊的操作。注解通常使用的场景是类、方法、字段、局部变量和参数等。类注解,如:@Entity class AccessLog构造器注解,如:// 给主构造器添加注解时,需要将注解放置在构造器之前,并加上一对圆括号class Acc...

2020-01-14 16:02:31 260

原创 Scala解析Nginx日志为对象

/** * Nginx日志数据转换类 */object NginxLogParser{ /** * 解析正则表达式 * .r用于指明PARTTERN是一个正则表达式对象 * 9个值:客户端访问IP、用户标识clientIdentd、用户userId、访问时间dateTime、请求方式mode、请求状态responseCode、返回文件的大小conten...

2020-01-14 16:01:52 216

原创 Scala自定义MEID效验工具类

import java.util.regex.Patternimport java.util.zip.CRC32object MeidUtils { /** * 将字符串转换成为Int类型 * @param s str * @return Int */ def parseInt(s:String):Int={ try { ...

2020-01-14 16:01:20 109

原创 Scala枚举

Scala定义枚举类,需要扩展类对象为scala.Enumeration。定义// 1object DeployMode extends Enumeration { val LOCAL,TEST,PRODUCTION = Value}// 2object DeployMode extends Enumeration { val LOCAL = Value v...

2020-01-14 16:00:44 208

原创 Scala 类和方法

目录Scala类 创建类 Scala类的访问级别 Scala方法 方法参数类型 方法返回值 方法的 = 号 方法表达式 方法调用 Scala中分号推断 Scala操作符 Scala的getter和setter 自定义 getter和setter Bean Scala类构造器 主构造器 辅助构造器 Scala嵌套类Scala类创建类class ...

2020-01-13 15:16:53 261

原创 Scala版SpringBoot + Impala

工作需要做查询并导出数据的接口,考虑了SpringBoot + Spark 和 Impala,Spark只测试了本地模式,时间有限暂时没有测试yarn模式,但是Spark更适合做数据分析,查询Impala 是比较高效的,选择了以 Impala 做查询引擎。这里整合下 Impala 做个记录。不过因为项目有其他处理模块,所以只把Impala部分拆分出来,是完整的独立模块。目录@Sprin...

2020-01-13 15:16:11 535 1

原创 PreparedStatement

PreparedStatement 与StateMent主要区别于 ps 是预编译,多次查询同样语法,但是参数不同的情况,只需要给?参数赋值即可,示例忽略try。 def transforDeviceId(): Unit = { val url = "jdbc:mysql://localhost:3306/origin_platform" val outPath =...

2020-01-13 15:15:31 113

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除