- 博客(51)
- 收藏
- 关注
原创 Spark的一个经典问题(1个Core5个Executor和5个Core1个Executor有什么区别)
Spark的一个经典问题(1个Core5个Executor和5个Core1个Executor有什么区别)一、问题分析1.1先思考两个问题1个Core VS 5个Core 有什么区别?在spark中如何用到Core1个Executor VS 5个Executor 有什么区别?在spark中如何使用Executor?1.2再思考两个问题什么是IO密集?什么是计算密集?二、上述两种方式 如何选择案例1数据量10亿条,什么逻辑运算都不做处理,只是写到hdfs中,该选择哪种方式?逻辑运算很少,
2021-12-27 11:46:47
2309
2
原创 Spark shuffle的两个调优参数
# 文件输出流内存缓冲区大小 默认32k 增加可以可以减少创建shuffle文件时候进行磁盘搜索和系统调用次数,建议64kspark.shuffle.file.buffer shuffle# 拉取的数据量大小 默认48m 增加可以减少reduce拉取数据的次数 建议96mspark.reducer.maxSizeInFilght reducetask ...
2021-12-27 10:32:11
717
原创 spark查看df中分区号与对应分区的数据量
frame.rdd .mapPartitionsWithIndex{case (i,rows) => Iterator((i,rows.size))} .toDF("partition_number","number_of_records") .show()查询结果如下
2021-11-01 15:24:29
1568
原创 Mysql造数据shell脚本
Mysql造数据shell脚本直接上代码#!/bin/bashi=$1;STOP=$2;while [ $i -le $STOP ]do mysql -u[user] -p[password] [database] -e "INSERT INTO test(api_user_id, app_key`, app_secret, dead_time, create_time, last_update_time, create_user_id, valid) VALUES ($i, 'om
2021-07-20 17:44:20
789
原创 Scala将HashMap拆分成若干HashMap
参数说明整个方法需要传入一个HashMap[String,String]groupCount:Int是需要拆分成几个HashMap,我这里拆分成四个最后返回一个Array[HashMap[String,String]]有需要的兄弟 直接使用,无毒无害!import scala.collection.mutableimport scala.collection.mutable.ArrayBuffer/** * @author 虚竹 * @date 2021/6/29 13:34
2021-06-29 17:16:43
712
原创 shell脚本--kafka生产数据
直接上代码kafka参数修改成自己的配置。#!/bin/bashecho ----------开始生产数据----------#响应Ctrl+C中断trap 'onCtrlC' INTfunction onCtrlC () { echo 'Ctrl+C is captured' exit 1}#kafka所在目录kafkaPath=/opt/kafka/#brokerbrokerlist=ddc001.lqad:9092,ddc002.lqad:9092,ddc00
2021-05-18 23:05:01
1519
原创 Linux使用history命令显示时间
执行命令[root@server1 ~]# export HISTTIMEFORMAT='%F %T'执行命令[root@server1 ~]# history
2021-04-27 15:42:16
138
原创 Apache Livy版本调研
Apache Livy版本调研0.7.0/2020-02-02Livy 0.7.0现在需要Java 8,Scala 2.11和Spark> = 2.2.0。从0.7.0开始,JDBC / ODBC功能现在变为GA。添加了对所有当前版本的Spark(2.2.x至2.4.x)的支持。[ LIVY-575 ]与Hive兼容的JDBC / ODBC服务器GA。[ LIVY-678 ]添加了对REST和JDBC接口的LDAP授权支持。0.6.0/2019-04-04Livy 0.6.0现在
2021-03-18 11:36:49
694
原创 Hue兼容Livy通过Rest请求向Spark发送任务
Hue兼容Livy通过Rest请求向Spark发送任务参考hue官方文档https://gethue.com/how-to-use-the-livy-spark-rest-job-server-for-interactive-spark-2-2/环境准备必须安装JDK必须安装HADOOP必须安装Spark安装过程下载wget http://archive.cloudera.com/beta/livy/livy-server-0.3.0.zip解压unzip ./livy-serve
2021-03-17 17:16:37
191
原创 Dolphinscheduler执行MySQL任务时报错execute sql error java.lang.RuntimeException: send mail failed!
本次测试Mysql脚本的执行情况报错如下图解决步骤前往github官网寻找解决方案https://github.com/apache/incubator-dolphinscheduler/issues/3790重点说明几个参数以HDP部署为例也可以直接修改对应的配置文件conf/alert.propertiesmail.server.host=smtp.exmail.qq.commail.smtp.ssl.trust=smtp.exmail.qq.commail.smtp.ssl.ena
2021-03-17 10:29:43
2860
原创 大数据脚本合集
大数据脚本合集本篇MarkDown整理大数据相关组件的常用脚本命令,随时补充本小组大数据平台采用Hdp部署方式,故其他框架的启动停止脚本未编纂在内,通过Hdp平台一键启动与停止即可Hdp启动ambari serverambari-server start重启ambari serverambari-server restart关闭ambari serverambari-server stop启动ambari agentambari-agent start重启ambari age
2021-03-16 10:00:19
694
原创 Datax关于Hive部分分区没有数据导致任务失败
一、使用Datax将Hive分区表数据导出时,分区表无数据,只有空文件夹,报错如下二、修改datax的hdfsreader的源码三、打包上传至服务器指定位置并替换原来的hdfsreader问题解决完毕!
2020-12-14 14:15:52
1127
1
原创 Hive通过自定义UDF函数实现分词
一、所需依赖 <dependency> <groupId>org.apache.hive</groupId> <artifactId>hive-exec</artifactId> <version>1.1.0</version> </dependency> <dependency>
2020-12-10 10:01:02
719
原创 机器学习--线性回归算法
一、了解线性回归:二、了解求导与偏微分求对 x 的偏导数,视 y 为常量, 对 x 求导;求对 y 的偏导数,视 x 为常量, 对 y 求导。三、代码实现(python)
2020-11-27 18:22:37
113
原创 scala/java获取文件相对路径,编译成jar包后可以继续读取
文件需要放在resource下,打成jar包后仍然可以读取到1. 各种环境都能读取。(通用)ClassPathResource classPathResource = new ClassPathResource("word.txt");InputStream inputStream =classPathResource.getInputStream();InputStreamReade...
2020-11-15 16:23:00
508
原创 Json字符串转换成Scala对象的一些注意事项
字符串:{ "currentTime":1604475400444, "dayString":"2020-11-04", "hmString":"16:31", "hmsString":"16:31:56", "itemAveragePrice":23.582698961937723, "itemCount":56, "item...
2020-11-04 16:47:00
231
原创 kafka-eagle的8048端口页面500
问题截图:解决办法:1、修改eagle目录 ./bin/ke.sh文件//注释掉下面的几行内容:# rm -rf $KE_HOME/kms/webapps/ke# rm -rf $KE_HOME/kms/work# mkdir -p $KE_HOME/kms/webapps/ke# cd $KE_HOME/kms/webapps/ke# ${JAVA_HOME}/b...
2020-09-30 17:35:00
384
原创 linux安装pip
背景:写了一个python删除mysql表中数据的脚本,在执行的时候提示如下: 安装pymysql:使用pip install 安装 pymysql,提示没有pip 安装pip:依次执行下面命令:wget https://bootstrap.pypa.io/get-pip.pypython get-pip.py 安装成功,查看pip版本:pip -V 问题解决!...
2020-09-25 11:08:00
136
原创 DataX使用之MongoDB2HDFS
序:本文首先介绍DataX使用(编写配置文件的方式)之MongoDB中的数据导出到HDFS上的一些注意事项,datax安装没有什么坑,所以本文不对此进行详细介绍,详细安装过程请自行查看官网。一、datax的基本使用1、datax的目录结构目录说明:backup:本人自己创建的备份目录,因为后续使用过程中涉及到更改源码,将原生的jar包备份到此文件夹中bin:datax的命...
2020-09-09 21:27:00
577
原创 修改服务器ssh端口后配置ssh免密
1、每台服务器生成公钥ssh-keygen -t rsa2、每台服务器本机输入cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys3、公钥复制到目标服务器scp -P <端口号> ~/.ssh/authorized_keys root@<服务器地址>:/root/.ssh4、测试ss...
2020-07-30 15:02:00
245
原创 Hadoop调优
Hadoop参数调优;1、hdfs-site.xml 文件中配置多目录(提前配置),否则更改目录需要重新启动集群2、Namenode有一个线程池,来处理不同的DataNode的并发心跳以及客户端并发元数据操作 dfs.namenode.handler.count= 20*log2(Cluseter Size) 如果该值设置的太小,明显的状况就是DataNode在连接NameN...
2020-06-15 21:33:00
115
原创 关于Flink--ProcessFunction的使用
一、概念:处理函数(底层API),可以访问时间戳,水位线以及注册定时时间,还可以输出特定事件(超时事件)Flink主要提供了8个ProcessFunction(斜体标注的重要):ProcessFunctionKeyedProcessFunctionCoProcessFunctionProcessJoinFunctionBroadcastProcessFunctionKe...
2020-06-15 20:37:00
343
原创 Sql--排名思路解析及优化
编写一个 SQL 查询来实现分数排名。如果两个分数相同,则两个分数排名(Rank)相同。请注意,平分后的下一个名次应该是下一个连续的整数值。换句话说,名次之间不应该有“间隔”。+----+-------+| Id | Score |+----+-------+| 1 | 3.50 || 2 | 3.65 || 3 | 4.00 || 4 | 3.85 || 5 | ...
2020-06-14 23:40:00
169
原创 关于es及其大集群规模下的优化
es主要特点:分布式的实时文件存储,每个字段都被索引并可被搜索分布式的实时分析搜索引擎–做不规则查询可以扩展到上百台服务器,处理 PB 级结构化或非结构化数据es和其他数据存储对比es基本操作不做介绍远程向es中写数据:object MyESUtil { val esUrl = "http://hadoop201:9200" val factory ...
2020-06-06 21:51:00
143
原创 Spark的Job的划分
Job的划分1、Application : 应用,创建一个SparkContext可以认为创建了一个Application2、Job 在一个app中每执行一次行动算子 就会创建一个Job,一个application会有多个job3、stage 阶段,每碰到一个shuffle算子,会产生一个新的stage,一个Job中可以包含多个stage4、task 任务,表示阶...
2020-05-11 22:29:00
822
原创 Spark搭建注意事项若干要点
一、关于UI地址master: 8080worker: 8081application: 4040 (用来查看正在运行的app的情况, 一旦这个应用结束, 则无法查看)二、历史服务器(这里说明yarn模式)1、 配置历史服务器 1)spark-defaults.conf 默认配置 spark.eventLog.enabled true ...
2020-05-04 23:29:00
147
原创 Idea几点使用总结(持续更新)
一、从github上誊代码 如图,然后粘贴连接即可二、github代码更新三、idea代码jar包导入虚拟机参考连接:https://blog.youkuaiyun.com/qq_33265875/article/details/103518430...
2020-05-04 23:12:00
57
原创 安装superset时的坑
一、superset的基本介绍1、super工作原理:用户通过浏览器访问superset的ui界面------->flask开发的web应用发送请求--------->对接数据源摄取数据--------->返回数据到浏览器-------->nvd3.js可视化数据2、安装:环境要求:superset安装环境必须有python3.6版本左右,不支持...
2020-04-13 22:08:00
215
原创 关于shell nohup &不起作用的总结
nohup 和&配合使用具体使用不做介绍参考:https://www.jianshu.com/p/93a45927f013这里说一下在shell脚本中 nohup &不起作用 一直输出在控制台的情况脚本:执行效果:将命令传入变量,然后调用变量修改脚本:执行效果:...
2020-04-07 23:55:00
1872
原创 hive动态分区与半自动分区
动态分区与半自动分区要求:①默认hive是不允许动态分区的,需要设置set hive.exec.dynamic.partition.mode=nonstrict ②分区列必须位于查询的最后一个字段③select字段的个数要<=表的字段个数+1静态分区:insert overwrite 表名 PARTITION(dt='xxxx') : 是静态分区,在插入数据时,明确指定数...
2020-04-07 00:14:00
350
原创 数仓的分层
一、数仓为什么要分层?1、分层解耦,可以让开发思路更加清晰,复杂问题简单化(出错时,可以精确定位数据)2、节省重复开发3、脱敏二、数仓的分层以5层数仓为例ODS层:原始数据层,原始数据原封不动的直接导入!DWD层:基于ODS层,将原始数据进行清洗,筛选后的数据,把其中的明细打开 例如:启动日志原始数据:{t:xxx,ba:xxx} 展开后,可以获得具体每个字段的值,...
2020-04-04 16:42:00
182
原创 数据的同步策略
一、数据同步策略的类型包括:全量表,增量表,新增及变化表1、全量表:存储完整的数据2、增量表:存储新增加的数据3、新增及变化表:存储新增加的数据和变化的数据4、特殊表:只需要存储一次的数据二、全量同步策略全量同步策略:每日全量,就是每天存储一份完整的数据,作为一个分区适用于表中数据量很小,每天可能会有数据新增或者数据修改的情形。增量同步策略:每日增量,就是每天存储一份...
2020-04-04 16:29:00
261
原创 关于内存问题
top 查看内存具体解释:看大佬的https://blog.youkuaiyun.com/yjclsx/article/details/81508455通过对应的pid查找对应的进程找啊找啊 找不到咋办呐。。找到了。。。没有任务在进行,但是占用还是很高释放一下内存吧有改善,只是稍微好一点点。。这个问题有待解决。。附:89个job。。脑壳痛看一下调度程序:没有啥用的...
2020-04-01 01:01:00
57
原创 shell工具
一、cut:从文件的每一行剪切字节,字符,字段并将这些输出基本用法:cut [选项参数] filename选项参数功能-f列号,提取第几列-d分隔符,按照指定分隔符分割列-c指定具体的字符二、sed:流编辑器,一次处理一行内容,处理时,吧当前处理的行存储在临时缓冲区,称为“模式空间”,接着用sed命令处理缓冲...
2020-03-30 21:32:00
68
原创 TailDirSource
特点:1、TailDirSource以接近实时的所读监控文件中写入的新行2、TailDirSource检测文件中写入的新行,并且将每个文件tail的位置记录在一个JSON的文件中3、即使agent挂了,重启后,source从上次记录的位置继续执行tail操作4、用户可以 修改Position文件的参数,来改变source继续读取的位置,如果postion文件丢失了,那么sourc...
2020-03-29 20:18:00
667
原创 异常Failed to auto configure default logger context
这个异常是logback.xml出现错误查看logback.xml发现标签格式错误修改正确即可
2020-03-25 22:27:00
672
原创 HBase集成Hive的总结
一、hbase为什么要集成hive:HBase是一个NoSQL数据库!一般用作对海量大表数据的实时读写,不支持复杂的查询!Hive是一个数据仓库软件!Hive主要用来对数据仓库中的数据进行分析!Hive支持使用HQL对表中的数据进行查询!Hive ----> HQL----->HDFS上的数据----->MRHBase---->API---->HDF...
2020-03-23 22:19:00
98
原创 关于HBase中Rowkey的设计原则
hbase的数据是key-value结构!因此一条数据的唯一标识就是rowkey!region也是根据rowkey进行排序,根据rowkey进行切分!rowkey设计的好,可以提供系统负载均衡的能力!如何让regionserver负载均衡: 让数据可以基于rowkey排序后,均匀地分散到所有的region!防止数据倾斜!如何实现:①可以采取随机数,hash或散列运算,让rowk...
2020-03-23 22:03:00
65
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人