自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

子清的博客

大数据学习历程

  • 博客(150)
  • 资源 (3)
  • 收藏
  • 关注

原创 Kafka API

文章目录第4章 Kafka API4.1 Producer API4.1.1 消息发送流程4.1.2 异步发送API4.1.3 同步发送API4.2 Consumer API4.2.1 自动提交offset4.2.2 手动提交offset第4章 Kafka API4.1 Producer API4.1.1 消息发送流程Kafka的Producer发送消息采用的是异步发送的方式。在消息发送的过程中,涉及到了两个线程——main线程和Sender线程,以及一个线程共享变量——RecordAccumula

2020-12-09 21:40:11 341

原创 Kafka架构深入

文章目录第3章 Kafka架构深入3.1 Kafka工作流程及文件存储机制3.2 Kafka生产者3.2.1 分区策略3.2.2 数据可靠性保证3.2.3 Exactly Once语义3.3 Kafka消费者3.3.1 消费方式3.3.2 分区分配策略3.3.3 offset的维护3.4 Kafka高效读写数据3.5 Zookeeper在Kafka中的作用3.6 Kafka事务3.6.1 Producer事务3.6.2 Consumer事务(精准一次性消费)第3章 Kafka架构深入3.1 Kafka工

2020-12-09 21:37:44 150

原创 Kafka快速入门

文章目录第1章 Kafka概述1.1 消息队列(Message Queue)1.1.1 传统消息队列的应用场景1.1.2 消息队列的两种模式1.2 定义1.3 Kafka基础架构第2章 Kafka快速入门2.1 安装部署2.1.1 集群规划2.1.2 jar包下载2.1.3 集群部署2.2 Kafka命令行操作第1章 Kafka概述1.1 消息队列(Message Queue)1.1.1 传统消息队列的应用场景1.1.2 消息队列的两种模式1)点对点模式(一对一,消费者主动拉取数据,消息收到后消

2020-12-08 23:16:04 188

原创 Flume快速入门+高级进阶+企业常用案例(超实用)

文章目录第1章 Flume概述1.1 Flume定义1.2 Flume基础架构1.2.1 Agent1.2.2 Source1.2.3 Sink1.2.4 Channel1.2.5 Event1.2.6 Interceptors1.2.7 Channel Selectors1.2.8 Sink Processors第2章 Flume快速入门2.1 Flume安装部署2.1.1 安装地址2.1.2 安装部署2.2 Flume入门案例2.2.1 监控端口数据官方案例2.2.2 实时监控单个文件2.2.3 监控多

2020-12-07 19:42:44 309

原创 Spark GraphX 中的 pregel函数

pregel函数源码 与 各个参数介绍 def pregel[A: ClassTag]( initialMsg: A, maxIterations: Int = Int.MaxValue, activeDirection: EdgeDirection = EdgeDirection.Either)( vprog: (VertexId, VD, A) => VD, sendMsg: EdgeTriplet[VD, ED] => Ite

2020-11-26 19:05:49 314

原创 GraphX之Connected Components

在Spark Graphx的org.apache.spark.graphx.lib包中有一些常用的图算法,其中一个就是Connected Components,本文将会介绍此算法的使用方法,下面是spark 1.6.3源码中对这个算法的注释:Compute the connected component membership of each vertex and return a graph with the vertex value containing the lowest vertex id in

2020-11-26 17:22:18 776

原创 PageRank算法原理剖析及Spark实现

1. 什么是PageRankPageRank对网页排名的算法,曾是Google发家致富的法宝。PageRank算法计算每一个网页的PageRank值,然后根据这个值的大小对网页的重要性进行排序。2. 简单PageRank算法首先,将Web做如下抽象:将每个网页抽象成一个节点;如果一个页面A有链接直接链向B,则存在一条有向边从A到B(多个相同链接不重复计算边)。因此,整个Web被抽象为一张有向图。现在假设世界上只有四张网页:A、B、C、D,其抽象结构如下图:显然这个图是强连通的(从任一节

2020-11-26 16:22:56 366

原创 Graph入门介绍

文章目录0. 为什么需要图计算1. 图(Graph)的基本概念2. 图的术语3. 图的经典表示法4. Spark GraphX 简介5. GraphX核心抽象6. GraphX API7. 属性图应用示例8. 查看图信息9. 图的算子9.1 属性算子9.2 结构算子9.3 Join算子10. GraphX API 应用11. PageRank in GraphX0. 为什么需要图计算许多大数据以大规模图或网络的形式呈现许多非图结构的大数据,常会被转换为图模型进行分析图数据结构很好地表达了数据之间的

2020-11-25 18:49:47 6875 1

原创 JSON数据处理

1. 数据准备新建op.log,并导入数据1593136280858|{"cm":{"ln":"-55.0","sv":"V2.9.6","os":"8.0.4","g":"C6816QZ0@gmail.com","mid":"489","nw":"3G","l":"es","vc":"4","hw":"640*960","ar":"MX","uid":"489","t":"1593123253541","la":"5.2","md":"sumsung-18","vn":"1.3.4","ba":"Su

2020-11-20 12:19:22 1066

原创 练习:Spark数据分析

文章目录1. 项目需求用例1:数据清洗用例2:用户留存分析用例3:活跃用户分析数据集下载:https://wwa.lanzous.com/iPrPVijmtle1. 项目需求使用Spark完成下列日志分析项目需求:日志数据清洗用户留存分析活跃用户分析活跃用户地域信息分析用户浏览深度分析用例1:数据清洗读入日志文件并转化为RDD[Row]类型按照Tab切割数据过滤掉字段数量少于8个的对数据进行清洗按照第一列和第二列对数据进行去重过滤掉状态码非200过滤掉e

2020-11-19 18:57:55 498 1

原创 SparkSQL项目练习

文章目录1 准备数据2 需求:各区域热门商品Top32.1 需求简介2.2 思路分析2.3 代码实现1 准备数据本文所需的数据我们这次Spark-sql操作所有的数据均来自 Hive,首先在Hive中创建表,并导入数据。一共有3张表: 1张用户行为表,1张城市表,1 张产品表CREATE TABLE `user_visit_action`( `date` string, `user_id` bigint, `session_id` string, `page_id` bigint,

2020-11-18 19:00:19 806

原创 Spark SQL详解入门!

文章目录第1章 Spark SQL概述1.1 什么是Spark SQL1.2 Spark SQL的特点1.2.1 易整合1.2.2 统一的数据访问方式1.2.3 兼容Hive1.2.4 标准的数据连接1.3 什么是DataFrame1.4 什么是DataSet第2章 Spark SQL编程2.1 SparkSession新的起始点2.2 DataFrame2.2.1 创建DataFrame2.2.2 SQL风格语法2.2.3 DSL风格语法2.2.4 RDD转换为DataFrame2.2.5 DataFra

2020-11-17 23:18:44 3010

原创 Spark 之 SparkCore(未写完)

文章目录第1章 RDD概述1.1 什么是RDD1.2 RDD特性第2章 RDD编程2.1 编程模型2.2 RDD的创建2.2.1 IDEA环境准备2.2.2 从集合中创建2.2.3 从外部存储系统的数据集创建2.2.4 从其他RDD创建2.2.5创建IDEA快捷键2.3分区规则2.3.1默认分区源码(RDD数据从集合中创建)2.3.2分区源码(RDD数据从集合中创建)2.3.3分区源码(RDD数据从文件中读取后创建)2.4行动算子 2.5 转换算子2.6 RDD序列化(未写完)2.7 RDD依赖关系2.7.

2020-11-16 09:50:53 302

原创 Spark常用RDD算子详解!!!

文章目录1. Transformation转换算子1.1 Value类型1.1.1 map()映射1.1.2 mapPartitions()以分区为单位执行Map1.1.3 map()和mapPartitions()区别1.1.4 mapPartitionsWithIndex()带分区号1.1.5 flatMap()压平1.1.6 glom()分区转换数组1.1.7 groupBy()分组1.1.8 GroupBy之WordCount1.1.9 filter()过滤1.1.10 sample()采样1.1.

2020-11-11 23:22:43 1121

原创 Spark之常用RDD算子(java版本与scala版本对比)

文章目录parallelizemakeRDDtextFile**filter****map****flatMap****distinct****union****intersection****subtract****cartesian****mapToPair****flatMapToPair****combineByKey**java版本的介绍**reduceByKey****foldByKey****SortByKey**parallelize调用SparkContext 的 paralleliz

2020-11-08 22:03:15 1199

原创 解决日志文件,只在报错时显示

1.创建一个resource文件夹,并设置为资源文件夹2.将log4j文件拷贝到文件夹下面3.编辑log4j文件,将info改为error

2020-11-04 15:59:12 343

原创 Spark入门篇

文章目录第1章 Spark概述1.1 什么是Spark1.2 Spark框架1.3 Spark内置模块1.4 Spark特点第2章 Spark运行模式2.1 Spark安装地址2.2 Local模式2.2.1 安装使用2.2.2 官方WordCount案例2.3 集群角色2.3.1 Master和Worker2.3.2 Driver和Executor2.3.3 通用运行流程2.4 Standalone模式2.4.1 安装使用2.4.2 参数说明2.4.3 配置历史服务2.4.4 配置高可用(HA)2.4.5

2020-11-04 14:32:01 885

原创 scala 链接 jdbc

package mysqlstuimport java.sql.{Connection, DriverManager, PreparedStatement, ResultSet}object MysqlDemo { private val driver="com.mysql.jdbc.Driver" private val url="jdbc:mysql://192.168.83.100:3306/scalademo" private val username="root" pr

2020-10-29 17:37:50 225

原创 Scala(总)之 小白入门扫盲知识总篇!

文章目录1.Scala入门1.1Windows安装Scala(Scala JDK)1.2 Linux安装Scala1.3 IDEA插件安装1.4 IDEA创建项目2. 变量和数据类型2.1 变量和常量2.2 字符串输出2.3 键盘输入2.4 数据类型2.5 整数类型(Byte、Short、Int、Long)2.6 浮点类型(Float、Double)2.7 字符类型(Char)2.8 布尔类型(Boolean)2.9 Unit类型、Null类型和Nothing类型2.10 类型转换2.10.1 数值类型自动

2020-10-28 23:08:00 1705 1

原创 Scala(七)之 集合

文章目录7.集合7.1 集合简介7.1.1 不可变集合继承图7.1.2 可变集合继承图7.2 数组7.2.1 不可变数组7.2.2 可变数组7.2.3 不可变数组与可变数组的转换7.2.4 多维数组7.3 Seq集合(List)7.3.1 不可变List7.3.2 可变ListBuffer7.4 Set集合7.4.1 不可变Set7.4.2 可变mutable.Set7.5 Map集合7.5.1 不可变Map7.5.2 可变Map7.6 元组7.7 集合常用函数7.7.1 基本属性和常用操作7.7.2 衍生

2020-10-28 23:03:14 334

原创 Scala 之 Array函数

++定义:def ++[B]: Array[B]描述:合并集合,并返回一个新的数组,新数组包含左右两个集合的内容示例val a=Array(1,2,3)val b=Array(1,2,3)val c = a++bprintln(c.mkString(","))1,2,3,1,2,3++:定义:def ++:[B >: A, That]: That描述:这个方法同上一个方法类似,两个加号后面多了一个冒号,但是不同的是右边操纵数的类型决定着返回结果的类型示例:Array 和 L

2020-10-28 20:11:16 612

原创 Scala(九)之 异常

文章目录9. 异常9.1 Java异常处理9.2 Scala异常处理9. 异常语法处理上和Java类似,但是又不尽相同。9.1 Java异常处理public class ExceptionDemo { public static void main(String[] args) { try { int a = 10; int b = 0; int c = a / b; }catch (

2020-10-26 17:13:39 166

原创 Scala(十一)之 泛型

文章目录11. 泛型11.1 协变和逆变11.2 泛型上下限11.3 上下文限定11. 泛型11.1 协变和逆变1)语法class MyList[+T]{ //协变} class MyList[-T]{ //逆变}class MyList[T] //不变2)说明协变:Son是Father的子类,则MyList[Son] 也作为MyList[Father]的“子类”。逆变:Son是Father的子类,则MyList[Son]作为MyList[Father]的“父类”。不变:Son

2020-10-26 17:10:31 109

原创 Scala(六)之 面向对象

文章目录6. 面向对象6.1 类和对象6.1.1 方法6.1.2 创建对象6.1.3 构造器6.1.4 构造器参数6.2封装6.3 继承6.4 抽象属性和抽象方法6.4.1 抽象属性和抽象方法6.4.2 匿名子类6.5 单例对象(伴生对象)6.5.1 单例对象语法6.5.2 apply方法6.6 特质(Trait)6.6.1 特质声明6.6.2 特质基本语法6.6.3 特质叠加6.6.4 特质叠加执行顺序6.6.5 特质自身类型6.6.6特质和抽象类的区别6.7 扩展6.7.1 类型检查和转换6.7.2 枚

2020-10-26 17:08:18 344

原创 Scala(四)之 流程控制

文章目录4. 流程控制4.1 分支控制if-else4.2 嵌套分支4.3 Switch分支结构4.4 For循环控制4.4.1 范围数据循环(To)4.4.2 范围数据循环(Until)4.4.3 循环守卫4.4.4 循环步长4.4.5 嵌套循环4.4.6 引入变量4.4.7 循环返回值4.4.8 倒序打印4.5 While和do..While循环控制4.5.1 While循环控制4.5.2 do..while循环控制4.6 循环中断4.7 多重循环4. 流程控制4.1 分支控制if-else4.1

2020-10-26 16:28:11 247

原创 Scala(八)之 模式匹配

文章目录8. 模式匹配8.1 基本语法8.2 模式守卫8.3 模式匹配类型8.3.1 匹配常量8.3.2 匹配类型8.3.3 匹配数组8.3.4 匹配列表8.3.5 匹配元组8.3.6 匹配对象及样例类8.4 变量声明中的模式匹配8.5 for表达式中的模式匹配8.6 偏函数中的模式匹配8. 模式匹配Scala中的模式匹配类似于Java中的switch语法但是scala从语法中补充了更多的功能,所以更加强大。8.1 基本语法模式匹配语法中,采用match关键字声明,每个分支采用case关键字进行声

2020-10-23 16:12:31 535 1

原创 Scala(十)之 隐式转换

文章目录10. 隐式转换10.1 隐式函数10.2 隐式参数10.3 隐式类10.4 隐式解析机制10. 隐式转换当编译器第一次编译失败的时候,会在当前的环境中查找能让代码编译通过的方法,用于将类型进行转换,实现二次编译10.1 隐式函数1)说明​ 隐式转换可以在不需改任何代码的情况下,扩展某个类的功能。2)案例实操​ 需求:通过隐式转化为Int类型增加方法。object TestF { implicit def fun(i:Int): Rich ={ new Rich(i)

2020-10-22 15:52:46 187

原创 Scala(三)之 运算符

文章目录3. 运算符3.1 算术运算符3.2 关系运算符(比较运算符)3.3 逻辑运算符3.4 赋值运算符3.5 位运算符3.6 Scala运算符本质3. 运算符Scala运算符的使用和Java运算符的使用基本相同,只有个别细节上不同。3.1 算术运算符​ 1)基本语法运算符运算范例结果+正号+33-负号b=4; -b-4+加5+510-减6-42*乘3*412/除5/51%取模(取余)7%52

2020-10-21 23:16:20 499

原创 Scala(五)之 函数式编程

文章目录5. 函数式编程5.1 函数基础5.1.1 函数基本语法5.1.2 函数和方法的区别5.1.3 函数定义5.1.4 函数参数5.1.5 函数至简原则(重点)5.2 函数高级5.2.1 高阶函数5.2.2 匿名函数5.2.3 高阶函数案例(集合详细讲)5.2.4 函数柯里化&闭包5.2.5 递归5.2.6 控制抽象5.2.7 惰性函数5. 函数式编程5.1 函数基础5.1.1 函数基本语法1)基本语法2)案例实操object TestFunction { def main(a

2020-10-21 16:50:56 264

原创 Scala(二)之 变量与数据类型

文章目录2. 变量和数据类型2.1 变量和常量2.2 字符串输出2.3 键盘输入2.4 数据类型2.5 整数类型(Byte、Short、Int、Long)2.6 浮点类型(Float、Double)2.7 字符类型(Char)2.8 布尔类型(Boolean)2.9 Unit类型、Null类型和Nothing类型2.10 类型转换2.10.1 数值类型自动转换2.10.2 强制类型转换2.10.3 数值类型和String类型间转换2.10.4 扩展面试题2. 变量和数据类型2.1 变量和常量2.1.1

2020-10-20 14:22:11 360

原创 Scala环境搭建+IDEA插件安装及项目创建

文章目录1. Windows安装Scala(Scala JDK)2. Linux安装Scala3.IDEA插件安装4.IDEA创建项目1. Windows安装Scala(Scala JDK)(1)首先确保本地已经安装JDk1.8环境(2)下载对应的Scala安装文件scala-2.11.8链接: https://pan.baidu.com/s/1XaaKFQ4HVvWBiVBhrsC8EQ 提取码: v3hr(3)直接双击下载好的文件(5)选择安装目录(不要有中文和空格)(6)配置环境变

2020-10-17 10:33:02 357

原创 零售数仓项目(一)

文章目录项目数据下载:1.项目介绍1.1 项目功能需求1.2 目架构设计图![附件02-电商数据仓库流程图 (2)](https://img-blog.csdnimg.cn/img_convert/b4527f362e16a73a17caf22010293698.png)1.2.1 架构所涉及技术分析2. 数据导入3. 业务表模型4. 用户访问时间分析4.1 user_basic4.2 user_visit4.2.1 PC 端指标4.2.2 APP 端指标4.2.3 综合指标4.2.4用户订单分布项目数据

2020-10-15 17:03:41 1926

原创 Hive面试题

文章目录题目一题目二题目三题目一学生表(STUDENT)的字段含义:SNO 代表学号,SNAME 代表学生姓名,SAGE 代表学生年龄,SSEX 代表学生性别课程表(COURSE)的字段含义:CNO 代表课程编号,CNAME 代表课程名字,TNO 代表教师编号,成绩表(SC)的字段含义:SNO 代表学号,CNO 代表课程编号,SCORE 代表成绩教师表(TEACHER)的字段含义:TNO 代表教师编号,TNAME 代表教师姓名查询所有学生的学号、姓名、选课数、总成绩、平均

2020-10-15 16:26:37 475

原创 HBase(总)小白入门知识汇总

文章目录1.HBase基础介绍1.1 NoSQL简介1.1.1什么是NoSQL1.1.2为什么使用NoSQL1.1.3NoSQL的特点1.1.4NoSQL基本概念1.1.5NoSQL分类1.1.6NoSQL和BI、大数据的关系1.2.HBase介绍1.2.1HBase概述1.2.2HBase发展历史1.2.3HBase用户群体1.2.4HBase应用场景1.2.5Apache HBase生态圈1.2.6HBase架构1.2.7HBase数据管理1.2.8HBase架构特点1.3.HBase数据模型1.3.1

2020-10-14 18:09:22 527

原创 数据仓库的概念介绍

文章目录1. 数仓概念1.1 为什么学习数据仓库1.2 什么是数据仓库1.2.1 面向主题1.2.2 集成1.2.3 非易失1.2.4 随时间变化1.3 数据仓库和数据库的区别1.4 OLTP和OLAP的区别2. 数据仓库的架构2.1 Inmon架构2.2 Kimball架构2.3 混合型架构3. 数据仓库的解决方案4. 数据ETL5. 数据仓库的建模5.1 选择业务流程5.2 声明粒度5.3 确认维度5.4 确认事实5.5 星型模型5.5.1星型模型特点5.5.2 优点5.5.3 缺点5.6 雪花模型5

2020-10-13 19:10:27 1056

原创 Phoenix 之 一键扫盲篇(未写完)

文章目录1.Phoenix简介1.1Phoenix定义1.2Phoenix特点1.3Phoenix架构2.Phoenix快速入门2.1安装2.2Phoenix Shell操作**2.2.1 表的操作**2.2.2 表的映射2.3 Phoenix JDBC操作3.Phoenix二级索引1.Phoenix简介1.1Phoenix定义Phoenix是HBase的开源SQL皮肤。可以使用标准JDBC API代替HBase客户端API来创建表,插入数据和查询HBase数据。1.2Phoenix特点1)容易集

2020-10-11 22:49:58 403

原创 报错:FAILED: Execution Error, return code 2 from org.apache.hadoop.hive.ql.exec.mr.MapRedTask MapReduc

Error: java.lang.RuntimeException: org.apache.hadoop.hive.ql.metadata.HiveException: Hive Runtime Error while processing row {"order_id":15793,"order_date":"2013-11-03 00:00:00.0","order_customer_id":6471,"order_status":"COMPLETE"} at org.apache.ha

2020-10-09 12:21:34 1335

原创 Sqoop 之 数据迁移

文章目录1.RDBMS到HDFS1.1全部导入1.2导入指定列 --columns1.3导入指定行--where1.4查询导入1.5增量导入数据1.6导入文件格式2.RDBMS到Hive3.RDBMS到Hbase4.HIVE/HDFS到RDBMS在Sqoop中,“导入”概念指:从非大数据集群(RDBMS)向大数据集群(HDFS,HIVE,HBASE)中传输数据,叫做:导入,即使用import关键字。1.RDBMS到HDFS确定Mysql服务开启正常在Mysql中新建一张表并插入一些数据

2020-09-29 19:51:59 503

原创 HBase(三)之 API的使用

文章目录1.添加依赖2.Hbase核心API2.1 获取Configuration对象2.2 创建表2.3插入数据2.4打jar包并使用1.添加依赖新建maven项目。并添加依赖 <dependency> <groupId>org.apache.hbase</groupId> <artifactId>hbase-client</artifactId> <version>1.2.0</

2020-09-28 17:11:49 1019

原创 HBase(四)之 Hive与HBase的集成

文章目录1. HBase与Hive的对比2.HBase与Hive集成使用2.1Hive与HBase集成使用场景2.2Hive与HBase集成原理2.3实现2.3.1案例一2.3.2案例二1. HBase与Hive的对比1.Hive(1) 数据仓库Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询。(2) 用于数据分析、清洗Hive适用于离线的数据分析和清洗,延迟较高。(3) 基于HDFS、MapReduceHive存储的数据依旧在D

2020-09-28 16:45:50 344

resources_zh_CN_DataGrip_2019.3_r1.jar

resources_zh_CN_DataGrip_2019.3_r1.jar

2021-02-14

azkaban-web-server-3.84.4.tar.gz

azkaban-web-server-3.84.4.tar.gz

2021-02-12

datagrip-2019.3.5_2.exe

datagrip-2019.3.5_2.exe

2021-02-14

空空如也

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

TA关注的人

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