自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

白色风车

小菜鸡养成记

  • 博客(176)
  • 收藏
  • 关注

原创 Windows配置ssh免密登录linux

Windows配置ssh免密登录Linux

2021-01-19 15:15:46 3

原创 JSON解析的四种方式

JSON解析的四种方式

2021-01-14 17:15:01 18

原创 面试题——kafka

Kafka常问数据积压 背压机制–(增大topic分区数、增加消费者数量、增大pull数据量)重复消费 (幂等性+ack=-1)数据丢失 (确认数据被完成处理之后,再更新offset值。低级API中需要手动控制offset值。)如果一条消费没有消费完,但是offset已经提交,这个时候造成数据丢失怎么办...

2020-12-25 09:25:07 22 2

原创 【大数据开发】面试——Hive优化之大表join大表

hive-大表Join的数据偏斜hive—大表Join的数据偏斜大表Join的数据偏斜MapReduce编程模型下开发代码需要考虑数据偏斜的问题,Hive代码也是一样。数据偏斜的原因包括以下两点:Map输出key数量极少,导致reduce端退化为单机作业。Map输出key分布不均,少量key对应大量value,导致reduce端单机瓶颈。Hive中我们使用MapJoin解决数据偏斜的问题,即将其中的某个表(全量)分发到所有Map端进行Join,从而避免了reduce。这要求分发的表可以被全量载

2020-12-21 11:27:58 36

原创 【大数据开发】Flink——Flink入门与进阶

看完这些文档就差不多了Flink入门Flink快速入门Apache Flink零基础入门到进阶Flink进阶Apache Flink 钉钉群直播教程——基础篇Apache Flink 钉钉群直播教程——进阶篇补充Window Trigger如何使用持续更新。。。。...

2020-11-27 19:07:11 36

原创 【大数据开发】Flink——Flink算子connect实践

import org.apache.flink.api.scala._import org.apache.flink.streaming.api.functions.co.CoMapFunctionimport org.apache.flink.streaming.api.scala.{ConnectedStreams, DataStream, StreamExecutionEnvironment}object JDBC { def main(args: Array[String]): U

2020-11-24 21:53:26 47

原创 【大数据开发】ClickHouse——ClickHouse函数(全)

-------------------------------------------------------------------------------------------------------------------Clickhouse基础知识:函数学习---------------官址学习文档:https://clickhouse.yandex/docs/zh/-------------------------------------------------------------

2020-11-16 22:00:46 153

原创 【大数据开发】ClickHouse——深入ClickHouse

文章目录第一章 clickhouse概述1.1 clickhouse的定义1.2 clickhouse的来源1.3 clickhouse应用领域1.4 clickhouse优点1.5 clickhouse缺点第二章 单机版安装2.1 rpm安装(也可以在线yum安装)2.2 配置2.3 服务启动2.4 客户端连接第三章 集群安装3.1 安装3.2 配置3.3 服务启动3.4 客户端连接第四章 入门操作4.1 伪分布式基础操作4.1.1 创建数据库4.1.2 创建表4.2 分布式DDL操作4.3 数据类型4.

2020-11-16 18:38:36 130

原创 【大数据开发】面试题②

这里记录的是一些比较重要又没有记清楚的问题1、什么是布隆过滤器本质上布隆过滤器是一种数据结构,比较巧妙的概率型数据结构,特点是高效地插入和查询。根据查询结果可以用来告诉你 某样东西一定不存在或者可能存在 这句话是该算法的核心。相比于传统的 List、Set、Map 等数据结构,它更高效、占用空间更少,但是缺点是其返回的结果是概率性的,而不是确切的,同时布隆过滤器还有一个缺陷就是数据只能插入不能删除。2、数据如何存入布隆过滤器布隆过滤器是由一个很长的bit数组和一系列哈希函数组成的。.

2020-11-15 10:03:27 21

原创 【大数据开发】面试题①

1. HDFS读写流程?2. MR的工作原理3. RPC通信机制4. Yarn的工作原理5. Zookeeper的选举机制Epoch>zxid>serverId数据 ID服务器中存放的最新数据 version。值越大说明数据越新,在选举算法中数据越新权重越大。逻辑时钟也叫投票的次数,同一轮投票过程中的逻辑时钟值是相同的。每投完一次票这个数据就会增加,然后与接收到的其它服务器返回的投票信息中的数值相比, 根据不同的值做出不同的判断。5.1全新集群选举假设目前有 5

2020-11-15 10:02:55 38

原创 【大数据开发】Datax——Datax学习笔记

1.speed是控制并发的参数,一般使用channel和byte2.content里面包含有一个reader和writter,无论是reader还是writter都有一个name,这里开源文件里定义好的datax会把writer中column的value读到流中,然后由writer写出流3.查看官方关于stream的json配置模板命令[root@node1 datax]# python bin/datax.py -r streamreader -w streamwriter{ "jo

2020-11-14 16:13:45 41

原创 【大数据开发】Datax——Datax必知必会

文章目录一、dataX概览1.1 DataX1.2 Features1.3 System Requirements1.4 Quick Start二、dataX详解2.1 DataX 3.0概览设计理念当前使用现状2.2 DataX3.0框架设计2.3 DataX3.0插件体系2.4 DataX3.0核心架构2.4.1 核心模块介绍:2.4.2 DataX调度流程:2.5 DataX 3.0六大核心优势可靠的数据质量监控丰富的数据转换功能精准的速度控制强劲的同步性能健壮的容错机制极简的使用体验三、dataX案

2020-11-13 19:27:03 136

原创 【大数据开发】SparkSQL——SparkSQL 中group by、grouping sets、rollup和cube方法详解

SparkSQL 中group by、grouping sets、rollup和cube方法详解

2020-11-10 11:29:36 32

原创 【大数据开发】Presto——Presto常用基本语法

Presto基本语法(和SQL基本一致,过一下即可)

2020-11-10 11:00:38 26

原创 【大数据开发】Structured Streaming报错Pathname /C:/Users/.... from C:/Users/... is not a valid DFS filename.

Exception in thread "main" java.lang.IllegalArgumentException: Pathname /C:/Users/18870/AppData/Local/Temp/temporary-acc01e20-1ddb-4bfb-bb81-89c2657e97e5 from C:/Users/18870/AppData/Local/Temp/temporary-acc01e20-1ddb-4bfb-bb81-89c2657e97e5 is not a valid D

2020-11-09 21:52:15 24

原创 【大数据开发】Presto——Presto安装部署、核心数据结构、Java集成Presto、自定义UDF、UDAF函数

Presto快速入门点我点我点我!Presto只支持Java操作,不能使用Scala必备知识:一个字节是8位,一个中文汉字占用3个字节的长度,byte类型数据是1个字节(presto需要自己手动计算字节数和存储位置)Presto目录一、安装部署二、Presto核心数据结构2.1 Slice2.2 Block2.3 Page2.4 总结三、Java集成Presto四、Presto编写UDF函数五、Presto编写UDAF函数一、安装部署# 创建目录mkdir -p /opt/soft/pre.

2020-11-09 21:22:34 71

原创 【大数据开发】Hudi——Hudi快速入门

Hudi快速入门Hudi中文文档spark2.4版本以上才能整合Hudi一、设计原则流式读/写Hudi应用于大型数据集记录流的输入和输出Hudi通过其特殊列添加并跟踪记录级的元数据自管理如果任务失败会自动回滚,并且再次尝试万物皆日志内部存储是以日志的形式保存键-值数据模型Hudi表被建模为键值对数据集二、表类型Copy On Write表(COW)——写时复制COW表写的时候数据直接写入basefile,(parquet)不写log文件。所以COW表的文.

2020-11-09 10:04:01 123 1

原创 【大数据开发】Hive——Hive的严格模式和非严格模式

Hive 严格模式与非严格模式hive提供了一个严格模式,可以防止用户执行那些可能产生意想不到的不好的效果的查询。即某些查询在严格模式下无法执行。通过设置hive.mapred.mode的值为strict,可以禁止3中类型的查询。(1) 查询一个分区表时如果在一个分区表执行hive,除非where语句中包含分区字段过滤条件来显示数据范围,否则不允许执行。换句话说,就是用户不允许扫描所有的分区。进行这个限制的原因是,通常分区表都拥有非常大的数据集,而且数据增加迅速。 如果没有进行分区限制的查询可能会消.

2020-11-08 16:12:47 82 1

原创 【大数据开发】Hive——Hive之列转行、行转列

文章目录一、列转行二、行转列一、列转行测试数据hive> select * from col_lie limit 10;OKcol_lie.user_id col_lie.order_id104399 1715131104399 2105395104399 1758844104399 981085104399 2444143104399 1458638104399 968412104400 1609001104400

2020-11-08 11:42:26 99

原创 【大数据开发】Hive——Hive函数大全

文章目录一、关系运算:1. 等值比较: =2. 不等值比较: <>3. 小于比较: <4. 小于等于比较: <=5. 大于比较: >6. 大于等于比较: >=7. 空值判断: IS NULL8. 非空判断: IS NOT NULL9. LIKE比较: LIKE10. JAVA的LIKE操作: RLIKE11. REGEXP操作: REGEXP二、数学运算:1. 加法操作: +2. 减法操作: -4. 除法操作: /5. 取余操作: %6. 位与操作: &7. 位或

2020-11-06 21:27:57 61

原创 【大数据开发】运行Structured Streaming时报错Caused by: java.lang.ClassNotFoundException: kafka.DefaultSource

Exception in thread "main" java.lang.ClassNotFoundException: Failed to find data source: kafka. Please find packages at http://spark.apache.org/third-party-projects.html at org.apache.spark.sql.execution.datasources.DataSource$.lookupDataSource(DataSource

2020-11-05 20:06:40 39

原创 【大数据开发】HDFS小文件合并四种方式

直接写数据到HDFS时,我们不可避免的要处理小文件问题,一般有1.落地之前增大batch(即增大了延迟)2.coalesce(分区合并)3.外部程序Merge4.Append(如果文件没有达到指定大小,下一个批次写数据的时候不创建新文件,而是和已存在的小文件合并)四种方式,各有其使用场景,如论哪种方式,无疑会增加我们的工作量。但是如果通过hudi写入数据,小文件的问题hudi自身会帮你解决,hudi自身解决的方案是`方法...

2020-11-05 12:00:04 191

原创 【大数据开发】DAU预测模型

建立日活的数学模型影响日活的因素中,最本质的其实是两个,一个是每日新增用户数,一个是新增用户的留存率。某一天的日活,我们可以看作是,当天的新增,加上前一天的新增的次日留存用户,再加上大前天的新增的二日留存用户……以此类推,我们可以认为日活是“当天的新增用户和此前每一天新增用户在当天的留存用户之和”,基于此,我们可以用一个很简单的公式表达日活。DAU(n)=A(n)+A(n-1)R(1)+A(n-2)R(2)+… …+A(1)R(n-1)其中,DAU(n)为第n天的日活,A(n)为第n天的新增,R(

2020-11-05 09:38:01 108

原创 【大数据开发】Java基础——UTC时间格式(2020-10-31T08:04:34+08:00)格式化方法

方法一(推荐)package Test4import java.text.SimpleDateFormatimport java.util.Dateimport org.joda.time.DateTimeobject Test4{ def main(args: Array[String]): Unit = { val time = "2020-10-31T08:04:34+08:00" val sdf = new SimpleDateForma

2020-11-02 23:21:45 780 1

原创 【大数据开发】Scala——将任意类型的变量包装成Option类型

package myTestobject Test3 { def main(args: Array[String]): Unit = { val num: Int = 5 val optionNum: Option[Int] = num match { case v => Some(v) case _ => None } println(optionNum.getOr

2020-11-01 16:36:00 25

原创 【大数据开发】Kafka——Spark2.x中消费者LocationStrategies、ConsumerStrategies的几种方式

一、LocationStrategy大多数情况下,需要使用LocationStrategies.PreferConsistent,这会把partition平均分配到可用的executor上。如果executor和kafka的broker在同一台机器上,就要使用PreferBrokers,这样which will prefer to schedule partitions on the Kafka leader for that partition。最后,如果在partition中又严重的倾斜,使用Pref

2020-10-28 08:38:38 68

原创 【大数据开发】lua entry thread aborted: runtime error: /usr/local/openresty/lualib/controller.lua:37: attem

2020/10/27 21:21:03 [error] 12539#12539: *71 lua entry thread aborted: runtime error: /usr/local/openresty/lualib/controller.lua:37: attempt to index local 'shared_data' (a nil value)stack traceback:coroutine 0: /usr/local/openresty/lualib/contro

2020-10-27 21:29:56 379

原创 【大数据开发】Hive——窗口函数、自定义函数

一、窗口函数如果要查询详细记录和聚合函数,必须要经过两次查询,比较麻烦,这个时候使用窗口函数,会方便很多(1)窗口函数是针对每一行数据的(2)如果over中没有指定参数,则默认窗口大小为全部结果集注意:开窗函数不能直接写在where里面--求01课程的平均成绩select*,avg(sc.s_score) over()from mydb2.score scwhere sc.c_id='01'--求每门课的平均成绩select *,avg(sc.s_score) over(d

2020-10-26 21:23:14 62

原创 【大数据开发】ElasticSearch——ElasticSearch和head插件的安装与启动

elasticSearch入门一、虚拟机先拍快照,这里容易出错!启动elasticSearch需要使用普通用户,它不支持root用户webUI:host01:9200、host03:9200、host04:9200二、

2020-10-26 20:50:50 38 1

原创 【大数据开发】MySQL数据库——MySQL5.x版本所有数据库的所有表权限授权命令

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' with grant option;

2020-10-26 18:00:29 22

原创 【大数据开发】Lua——Lua脚本语言

文章目录一、idea集成Lua二、Lua脚本语法2.1 数据类型2.2 查看数据类型2.3 运算符2.4 局部变量、全局变量2.5 函数2.6 if分支2.7 循环结构2.8 数组、泛型for循环2.9 类型转换tostring()、tonumber()2.10 函数返回值2.11 table类型(理解为Java中的map类型)2.12 引入模块细节总结一、idea集成Lua下载该插件,新建项目的时候选择maven,右键新建文件的时候则有新建lua文件导入编译器二、Lua脚本语法2.1 数据类

2020-10-26 17:06:00 44

原创 【大数据开发】Kafka——Kafka必知必会②

一、封装工具类下载consumer.properties、producer.properties文件到resources中二、偏移量offset三、自定义分区器

2020-10-22 08:57:58 39

原创 【大数据开发】SparkStreaming——DStream输入源、原语、SparkStream与Kafka和Redis三者的交互

一、二、

2020-10-22 08:43:51 46

原创 【大数据开发】Redis——Redis常用指令、Jedis客户端、Redis基本数据类型、Redis持久化方式、Rdis分布式集群搭建

Redis客户端的端口号是6379启动Redis:./redis-server redis.conf./redis-cli -h ip地址 -p 6379停止Redis:./redis-cli shutdown查看Redis进程:ps -ef | grep redis文章目录一、二、Jedis2.1添加依赖2.2 连接单机Redis2.3 Jedis的连接池单机连接Redis一、./redis-cli -h ip地址 -p 6379 --raw使用上面的方式启动,那么设置键值对的时候可.

2020-10-20 21:18:34 60

原创 【大数据开发】SparkSQL——SparkSQL统计每一天的销售额

文章目录一、 统计每一天的销售额(DSL风格)二、一、 统计每一天的销售额(DSL风格)需求: 数据源(时间,销售金额,用户ID)在这个数据源中有不完整的记录,过滤掉这些数据统计每一天的销售额(DSL风格)import org.apache.spark.rdd.RDDimport org.apache.spark.sql.functions.sumimport org.apache.spark.sql.{DataFrame, SparkSession}object _01_Exercise

2020-10-20 08:30:16 79 1

原创 【大数据开发】Kafaka——Kafka必知必会①

所谓分区就是指的文件夹,所谓副本数就是存储多少份文章目录一、kafka在zookeeper中的元数据存储1.1官方文档和软件下载1.2启动和关闭kafka1.3 zookeeper中`/kafka-2002`目录解析二、kafka命令2.1主题帮助命令2.2列出所有主题2.3查看主题2.4修改主题2.5开启一个生产者2.6开启一个消费者2.7三、自定义3.1添加maven依赖3.2自定义生产者Producer3.3自定义消费者3.3.13.3.2四、一、kafka在zookeeper中的元数据存储.

2020-10-19 21:15:42 122 1

原创 【大数据开发】SparkCore、SparkSQL综合练习——对农产品数据进行分析

发现一个idea很神奇的功能,每次写一堆算子的时候,先在最后面写一个Action算子过去,然后再从中间开始写transformation算子,这个时候神奇的事情发生了,在每个算子后面会显示出灰色的返回值类型!!!文章目录一、数据背景二、数据类型三、功能要求四、SparkCore代码实现4.1 农产品市场个数统计4.2农产品种类统计4.3计算山西省每种农产品的价格波动趋势五、SparkSQL代码实现六、业务数据一、数据背景该数据每日进行采集汇总。数据范围涵盖全国主要省份(港澳台、西藏、海南暂无数据).

2020-10-17 17:37:36 124

原创 【大数据开发】Scala——反射机制

import scala.reflect.runtime.universeimport scala.reflect.runtime.universe._import scala.reflect.runtime.universe.typeOfclass Person(val name: String, val age: Int){ def myPrint(): Unit ={ println(name + "," + age) }}object ReflectT

2020-10-15 10:24:37 32

原创 【大数据开发】SparkSQL——Spark对接Hive、Row类、SparkSQL函数、UDF函数(用户自定义函数)、UDAF函数、性能调优、SparkSQL解决数据倾斜

文章目录一、Spark对接hive1.1 集群文件下载1.2 导入依赖1.3 打开集群metastore服务二、三、SparkSQL函数一、Spark对接hive1.1 集群文件下载下载hive/conf/hive-site.xml、hadoop/etc/hadoop/core-site.xml、hadoop/etc/hadoop/hdfs-site.xml添加这些配置到idea中的resources中我们的代码在读取文件的时候默认是在HDFS集群中读取的。此时如果需要读取本地文件时,则需要在本地

2020-10-15 08:08:06 70

原创 【大数据开发】运行Spark集群模式时抛出异常,报The last packet sent successfully to the server was 0 milliseconds ago. The

这是因为val url: String = “jdbc:mysql://localhost:3306/mydb1?serverTimezone=UTC”这里不要设置成localhost,会抛异常,这是因为配置中配置了spark和hdfs的配置,设置了localhost以后会从这些配置中读取ip将localhost改为自己的ip后错误消失The last packet sent successfully to the server was 0 milliseconds ago. The driver

2020-10-14 20:47:08 47

空空如也

空空如也

空空如也

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

TA关注的人 TA的粉丝

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