自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 正则表达式-regexp_replace

regexp_replace字符串替换函数profile的值:-- {"nickname":小王,"avatarurl":"","gender":"0","city":"","province":"","country":""}select regexp_replace (profile,'({"nickname":)(.*?)(,)','$1null$3')from csig_th_datacenter_yidian_dw::dws_user_alluser_d where profile&lt

2022-02-08 17:16:33 483

原创 StructuredStreaming

1 设置日志级别Logger.getLogger("org").setLevel(Level.WARN)session.sparkContext.setLogLevel("WARN")案例object _05StructuredStreamingDemo { def main(args: Array[String]): Unit = { //获取SparkSql的上下文对象 val spark: SparkSession = SparkSession.bu

2021-11-07 17:31:11 1505

原创 SparkStream算子

1 updateStateByKeyupdateStateByKey 是一个有状态的算子第一个参数:表示这一批次的同一个key的所有的value的值,如hello,(1,1,1,1,1,1,1)第二个参数:就是状态数据,也就是同一个key的前n次的计算结果,如果是第一次,那么前n次没有数据,底层就是用option类型案例,求开始时刻到现在每个单词出现的个数def main(args: Array[String]): Unit = { val conf = new SparkCon

2021-11-04 21:40:34 193

原创 RedisAPI

scala语言操作Redispom.xml<dependency> <groupId>redis.clients</groupId> <artifactId>jedis</artifactId> <version>3.0.0</version></dependency>单线程的连接方式def main(args: Array[String]): Unit = {

2021-11-02 08:49:35 78

原创 HBASE与HIVE转换

hive-to-hbase在hive中建表create table if not exists employee (uid int,uname string,age int,sex string,province string)stored by 'org.apache.hadoop.hive.hbase.HBaseStorageHandler'with serdeproperties("hbase.columns.mapping"=":key,base_info:name,base_

2021-11-01 21:45:53 1314

原创 flume 采集方案的编写

1 avro+memory+logger 用avro-client进行测试启动方案 flume-ng agent -c ./conf -f ./flumeconf/avro-mem-logger.properties -n a1 -Dflume.root.logger=INFO,console 因为用的是avro的source,那么必须使用avro-client进行测试vim data/test.avroflume-ng avro-client -c /usr/local/flume/c

2021-10-31 18:37:14 375

原创 IDE远程管理HDFS

报如下错误 ,解决方案如下org.apache.hadoop.security.AccessControlException: Permission denied: user=asus, access=WRITE, inode="/file2/1.txt":root:supergroup:-rw-r--r-- at org.apache.hadoop.hdfs.server.namenode.FSPermissionChecker.check(FSPermissionChecker.java:308)

2021-10-30 09:55:04 96

原创 kafka如何查看日志与索引文件

查看segment文件的内容kafka 产生数据有一个.log文件和一个索引文件.index,用普通的cat无法查看里面的内容,需要使用指定的命令kafka-run-class.sh kafka.tools.DumpLogSegments --files (000.....log|000......index) --print-data-log...

2021-10-29 21:21:42 3214

原创 Hadoop集群的安装

Hadoop 集群的搭建上传、解压、更名、配置环境变量-1. 上传和解压两个软件包[root@qianfeng01 ~]# tar -zxvf jdk-8u221-linux-x64.tar.gz -C/usr/local/[root@qianfeng01 ~]# tar -zxvf hadoop-2.7.6.tar.gz -C/usr/local/-2. 进⼊local⾥,给两个软件更名[root@qianfeng01 ~]# cd /usr/local/[root@qianfeng01

2021-10-28 22:05:35 134

原创 kafka的简介及安装

Kafka的概述1.1 消息队列的简介1.1.1 为什么要有消息队列1. 当服务器在一次性处理大量的数据时,可能会造成服务器瘫痪,或者数据丢失这种情况2. 如果将要处理的数据先维护在一个缓存系统中,然后再慢慢的处理,这样就可以避免上述情况。3. 缓存系统就是用来存储消息的,该系统中至少要维护一个用来存储消息的先后顺序的队列(数据结构)4. 为什么要使用队列(Queue,Deque,LinkedList),而不是其他的数据结构(Arraylist),因为消息要进行频繁的生产和消费(增删操作)1

2021-10-28 21:22:35 115

原创 Kafka的基本操作-topic-producer-consumer

kafka 的基本操作topic的CRUD对应的脚本是kafka-topics.sh参数Create, delete, describe, or change a topic.Option Description------ -------------alter 修改分区数量,只能增加分区--

2021-10-28 21:12:04 336

原创 Spark数据倾斜

Spark数据倾斜 局部聚合+全局聚合解决数据倾斜问题开发原则:原则一:避免创建重复的RDD 原则二:尽可能复用同一个RDD 原则1和原则2 都要由原则3来配合使用原则三:对多次使用的RDD进行持久化持久化的级别,要针对于具体应用场景来选择原则四:尽量避免使用shuffle类算子原则五:使用map-side预聚合的shuffle操作原则六:使用高性能的算子原则七:广播大变量原则八:使用Kryo优化序列化性能原则九:优化数据结构解决方案一:使用Hive ETL预

2021-10-27 22:12:13 161

原创 Spark自定义函数 UDF UDAF

Spark 自定义函数UDF UDAF步骤:自定义函数,再注册案例演示UDFpackage com.qf.sql.day03import org.apache.spark.sql.{DataFrame, SparkSession}object _05TestUDF1 { def main(args: Array[String]): Unit = { val spark = SparkSession.builder().master("local[*]").appNam

2021-10-27 22:08:31 535

原创 Spark连接Mysql与Hive

Spark连接Mysql与hive连接Mysql导入依赖<dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.21</version></dependency>获取SparkSession对象package com.qf.sql.day0

2021-10-27 21:47:40 376

原创 SparkSQL加载文件与保存文件

sparkSQL加载文件与保存文件SparkSQL加载文件步骤: 先获取sparkSession对象 val spark = SparkSession.builder() .appName("testload") .master("local[*]") .getOrCreate()读取文件的方式 spark.read.format("type").load("path") spark.read.json("") s

2021-10-27 21:39:38 386

原创 hive动态分区表、分桶表、既分区又分桶表的应用

hive动态分区表、分桶表、既分区又分桶表的应用hive 动态分区表partitioned by(colName Type)create table tableName(..............)partitioned by (colName colType [comment '...'],...)例如create table dy_part1(sid int,name string,gender string,age int,academy string)partit

2021-10-10 14:05:19 204

原创 HDFS读写流程

**hdfs数据流读操作:hdfs dfs -get /file02 ./file02hdfs dfs -copyToLocal /file02 ./file02FSDataInputStream fsis = fs.open("/input/a.txt");fsis.read(byte[] a)fs.copyToLocal(path1,path2)详细解读步骤:客户端通过调⽤FileSystem对象的open()⽅法来打开希望读取的⽂件,对于HDFS来说,这个对象是Dist

2021-09-06 09:59:54 297

原创 linux SSH免密登入

**ssh 免密登入ssh: 是⼀个远程登录的命令,可以远程登录到指定的虚拟机。其实,我们使⽤的远程连接⼯具,就是使⽤ssh实现的。ssh在进⾏远程登录的时候,需要进⾏身份验证,输⼊远程登录⽤户的密码。例如:ssh root@zbo02 需要输⼊zbo节点的root密码ssh zbo02 当远程登录的⽤户名,与当前的⽤户名相同的时候,远程⽤户名可以省略集群的节点之间需要频繁的进⾏通信,因此免密登录是必须要配置的。如果不配置免密登录,则在很多时候集群通信的时候,需要输⼊密码。这就需要⼈⼯维护,

2021-08-26 09:02:36 85

原创 linux scp

**scp命令集群模式下,各节点之间进行文件拷贝scp file 远程用户名@远程服务器IP:~、(冒号和目录之间不能有空格)拷贝目录,需要加-r 选项使用root用户 Demo1scp /etc/profile root@zbo02:/etcscp 小技巧1 如果远程的⽤户,与本机的⽤户名相同,可以省略⽬标的⽤户名 scp ~/a.log zbo02:/root/data #root⽤户省略,直接写zbo02即可2. 如果需要拷⻉到远程服务器与本机相同的路径,可以使⽤PWDsc

2021-08-26 08:44:17 39

原创 成员变量和局部变量的区别

成员变量和局部变量的区别:成员变量的特点:在创建对象的时候会赋默认值可以在类中定义成员变量的时候,直接赋值非静态的成员变量可以在除了static修饰的方法外任何地方使用 区别: 作用域:成员变量是整个对象,局部变量是从定义开始到所在的函数/if/for 结束 默认值:成员变量会有默认值,局部变量没有默认值,想要使用必须先赋值 释放机制:成员变量跟对象保持一致,通过垃圾回收机制回收,局部变量使用完立即释放 存放的位置:成员变量放在堆区中的对象中,局部变量放在栈区中的方法中。...

2021-07-24 17:41:25 78

原创 java位运算符

位运算符按位取反位运算符都是在补码上进行的。如~77的补码 0000 0111;按位取反得 1111 1000;(这个是补码)原码 :1000 1000(原码)得 ~7 等于-8;将字符串转换成字符数组char[] array = str.toCharArray();...

2021-07-24 17:26:43 31

原创 JDK JRE JVM的区别

JDK JRE JVM的区别**JDK:**软件开发工具包,包含jre和我们常用的所有工具包**JVM:**java虚拟机,java程序运行的环境,实现java跨平台jre:包含jvm和java的核心类库,我们可以通过jre编写简单的程序**总结:**只要有了jdk,就可以进行java程序的开发。...

2021-07-24 17:10:55 35

原创 java 重载和重写的区别

重载和重写的区别重载:指的是一个类中方法名相同,参数不同,返回值类型可以相同也可以不相同的函数参数不同:参数的个数,类型,顺序。重写:指面向对象中,子类继承父类可实现的方法进行重新编写,返回值和形参都不能改变。...

2021-07-24 17:04:46 29

原创 java equals 和 == 的区别

这里写自定义目录标题equals 和 == 的区别新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入equals 和 == 的区别1)比较java基本类型比较基本类型 ,不能用equals,这里的比较的是两个基本类型的值

2021-07-23 21:46:58 30

空空如也

空空如也

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

TA关注的人

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