自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Spark-Sql快速入门系列(5) | Hive数据库

目录一.hive和spark sql的集成方式(面试可能会问到)二.spark_shell和spark_sql操作spark_shellspark_sql使用hiveserver2 + beeline三.脚本使用spark-sql四.idea中读写Hive数据1.从hive中读数据2.从hive中写数据使用hive的insert语句去写使用df.write.saveAsTable("表名")(常用)使用df.write.insertInto("表名")saveAsTable和insertInto的原理一.

2020-08-28 17:39:14 524

原创 Spark-Sql快速入门系列(4) | JDBC读写数据

目录一.JDBC从 jdbc 读数据通用写法专用写法向 jdbc 写入数据通用写法专用写法一.JDBC Spark SQL 也支持使用 JDBC 从其他的数据库中读取数据. JDBC 数据源比使用 JdbcRDD更爽一些. 这是因为返回的结果直接就是一个 DataFrame, DataFrame更加容易被处理或者与其他的数据源进行 join. Spark SQL 可以通过 JDBC 从关系型数据库中读取数据的方式创建 DataFrame,通过对DataFrame一系列的计算后,还可以将数据再写回关系

2020-08-27 22:33:57 507

原创 Spark-Sql快速入门系列(3) | 读/写数据源

Scala/JavaMeaningSaveMode.ErrorIfExists(default) “error”(default)如果文件已经存在则抛出异常SaveMode.Append “append”如果文件已经存在则追加SaveMode.Overwrite “overwrite”如果文件已经存在则覆盖SaveMode.Ignore “ignore”如果文件已经存在则忽略...

2020-08-27 20:22:25 142

原创 Spark-Sql快速入门系列(2) | 自定义SparkSQL函数

目录一.数据源二.自定义 UDF 函数三.用户自定义聚合函数sum()聚合avg()聚合四.自定义强类型聚合函数(了解)一.数据源{"name":"lisi","age":20}{"name":"ww","age":10}{"name":"zl","age":15}{"name":"zy","age":30}二.自定义 UDF 函数import org.apache.spark.sql.SparkSessionobject UDFDemo { def main(args: Array

2020-08-27 18:44:59 252

原创 Spark Core项目实战(3) | 页面单跳转化率统计

数据源链接:https://pan.baidu.com/s/1TtBQpQUNBebqxrrx9czxqQ 提取码:fmw6源码在github:https://github.com/lidonglin-bit/Spark-Core目录一.页面单跳转化率统计需求简介思路分析二.具体实现具体业务实现完整项目代码一.页面单跳转化率统计需求简介 计算页面单跳转化率,什么是页面单跳转换率,比如一个用户在一次 Session 过程中访问的页面路径 3,5,7,9,10,21,那么页面 3 跳到页面 5

2020-08-26 20:59:50 594

原创 Spark Core项目实战(2) | Top10热门品类中每个品类的 Top10 活跃 Session 统计

数据源链接:https://pan.baidu.com/s/1TtBQpQUNBebqxrrx9czxqQ 提取码:fmw6源码在github:https://github.com/lidonglin-bit/Spark-Core根据上个需求的基础上求的Top10热门品类中每个品类的 Top10 活跃 Session 统计(建议先做实战1,再做实战2)https://blog.csdn.net/qq_46548855/article/details/108198209目录一.Top10热门品类

2020-08-26 19:54:04 1108

原创 Spark-Sql快速入门系列(1) | RDD, DataFrame和 DataSet 之间的关系

目录RDD, DataFrame和 DataSet 之间的关系1.三者的共性2.三者的区别RDDDataFrameDataSet3.三者的互相转换4.简述SparkSQL中RDD、DataFrame、DataSet三者的区别与联系? (笔试重点)RDD, DataFrame和 DataSet 之间的关系 在 SparkSQL 中 Spark 为我们提供了两个新的抽象,分别是DataFrame和 DataSet。他们和RDD有什么区别呢?首先从版本的产生上来看: RDD (Spark1.0) —&gt

2020-08-25 22:36:39 286

原创 Spark Core项目实战(1) | Top10 热门品类

目录一.数据准备一.数据准备本实战项目的数据是采集自电商的用户行为数据.主要包含用户的 4 种行为: 搜索, 点击, 下单和支付.数据格式如下, 不同的字段使用下划线分割开_:

2020-08-25 09:33:57 1619

原创 Git快速入门系列(3) | Git本地上传文件和删除文件

上传文件1.打开github,新建一个仓库用来存放项目2.复制仓库连接https://github.com/lidonglin-bit/Spark-Core.git3.找到要上传的项目文件,比如lol.tx上传到仓库中4.进行上传(1)初始化仓库,将这个目录变成git可以管理的仓库git init(2)将文件添加到暂存区里面去,注意后面你的 .git add .(3)将文件提交到仓库 git commit -m '描述内容'(4)此时git还不知道将我们的项目添加到哪里去,or

2020-08-24 21:33:18 457

原创 Git快速入门系列(2) | idea上传源码到github

idea设置Git,并上传在idea中,settings →Version Control →GitHub 填写网站登录的用户名密码在idea中,通过版本控制软件创建项目如果右键没有git,就创建git把自己想要上传到github的项目右键,点击add发现报错了切换到自己项目所在的目录,右键选择GIT BASH Here,也可以Idea中使用Alt+F12输入git pull origin master --allow-unrelated-histories再次p

2020-08-24 20:01:24 152

原创 Git快速入门系列(1) | 安装Git

选择Git命令的执行环境,这里推荐选择第一个,就是单独用户Git自己的命令行窗口。不推荐和windows的命令行窗口混用。在“Configuring the line ending conversions”选项中,第一个选项:如果是跨平台项目,在windows系统安装,选择;第二个选项:如果是跨平台项目,在Unix系统安装,选择;第三个选项:非跨平台项目,选择。在“terminal emulator”选项中,第一个选项:使用专用的Git窗口(推荐)第二个选项:使用windows...

2020-08-24 19:53:32 206

原创 Scala中DecimalFomat的使用

跟java使用方法是一样的object Test1 { def main(args: Array[String]): Unit = { val pi = 3.1415927 //取一位整数 println(new DecimalFormat("0").format(pi)) //3 //取一位整数和两位小数 println(new DecimalFormat("0.00").format(pi)) //3.14 //取两位整数和三位小数,整数不足部分

2020-08-23 22:54:57 995

原创 Redis的安装

Redis官方网站http://redis.io/Redis中文官方网站http://www.Redis.net.cn/安装步骤1.上传解压包到/export/software2.解压tar -zxvf redis-3.2.5.tar.gz -C /export/servers3.解压完成后进入目录cd /export/server/redis-3.2.54.安装(执行下面4条命令)yum install gccyum install gcc-c++make make ins

2020-08-23 21:59:41 668

原创 Comparable方法中的compare方法的返回值(1,-1,0)判断升序还是降序?

判断升序还是降序return this.count > o.count ? -1 : 1; 降序排列 等价于 return o.count - this.countreturn this.count > o.count ? 1 : -1; 升序排列 等价于 return this.count - o.count

2020-08-22 22:42:09 2633

原创 Spark Core快速入门系列(10) | 累加器+广播变量

目录累加器自定义Int类型的累加器自定义map类型的累加器广播变量累加器累加器实现自定义Int类型的累加器结果为6import org.apache.spark.util.AccumulatorV2import org.apache.spark.{SparkConf, SparkContext}object Acc { def main(args: Array[String]): Unit = { val conf = new SparkConf().setMaster("lo

2020-08-21 22:01:41 216

原创 Spark Core快速入门系列(9) | Spark读取文件的切片规则

目录读取文件的切片规则如果找不到源码-分享步骤读取文件的切片规则截取了源码重要的部分//所有的文件FileStatus[] files = listStatus(job);//记录所有文件的总大小//numSlits是minPartitions=2long totalSize = 0;long goalSize = totalSize / (numSplits == 0 ? 1 : numSplits);//前部分没有配置,那么就是1 minSplitSize看源码也是1long m

2020-08-21 00:13:16 693

原创 Spark Core快速入门系列(8) | HashPartitioner和RangePartitioner

目录自定义Hash分区器自定义Hash分区器HashPatitioner 1.默认分区器 2.聚合算子如果没有分区器就是默认分区器对shuffle后的rdd进行重新分区

2020-08-20 22:38:31 246

原创 idea中如何翻译英语单词

重启idea快捷键可以在keymap中设置

2020-08-20 20:29:24 1291

原创 Idea配置Remote Host(连接虚拟机)

Idea配置Remote Host(连接虚拟机)

2020-08-20 20:14:06 3441 1

原创 Spark Core快速入门系列(7) | RDD的持久化和检查点

目录rdd的持久化聚合算子默认缓存checkpointrdd的持久化说明1.如果不使用持久化,那么每次调用collect,都会创建一个job每个 job 总是从它血缘的起始开始计算. 所以, 会发现中间的这些计算过程都会重复的执行.2. 原因是因为 rdd记录了整个计算过程. 如果计算的过程中出现哪个分区的数据损坏或丢失, 则可以从头开始计算来达到容错的目的.接下来我们来看看除了储存在内存中,还能储存在哪里!Storage Level聚合算子默认缓存建议缓存还是要写的,养成习惯默认进行

2020-08-19 23:28:29 221

原创 Spark Core快速入门系列(6) | Spark序列化

目录spark的序列化关于序列化的原理Kyro序列化(建议使用)总结spark的序列化进行 Spark 进行编程的时候, 初始化工作是在 driver端完成的, 而实际的运行程序是在executor端进行的. 所以就涉及到了进程间的通讯, 数据是需要序列化的.发现Task not serializable,那么怎么回事呢?接下来有两种方法第一种方法:可以把属性的值存入到一个局部变量,然后传递局部变量第二种方法:继承serializable接口关于序列化的原理Kyro序列化(建议使用)

2020-08-19 22:28:35 244

原创 Spark Core快速入门系列(5) | Spark中job的划分

当遇到了宽依赖就会产生一个新的阶段我们再多增加一条repartition(宽依赖)再次查看多了一个stage总结job: 一个应用中,每碰到一个action,就会起一个job 一个应用可以有多个jobstage: 阶段. 每碰到一个宽依赖就会在这个job内创建一个新的stage (如果遇到宽依赖的时候,用的分区器和当前一样,则不会起新的) 一个job至少有一个阶段 stage划分是从后向前划分,执行一定是从前往后task 体系了执行数据分析的并行.

2020-08-18 23:39:49 932

原创 Spark Core快速入门系列(4) | RDD的转换(transformation)

目录Value 类型mapmapPartitions(func)map()和mapPartitions()的区别flatMap(func)glom()groupBy(func)filter(func)sample(withReplacement, fraction, seed)distinct([numTasks])coalesce(numPartitions)repartition(numPartitions)coalasce和repartition的区别sortBy(func,[ascending],

2020-08-18 23:04:15 237

原创 Scala中match(匹配模式)

基本使用: 要匹配的值 match { case 选项 => //代码 case 选项 => // ...也可以做判断 非常方便元组判断

2020-08-18 20:53:50 5122

原创 Spark Core快速入门系列(3) | RDD的依赖关系(宽依赖和窄依赖)

目录查看RDD的血缘关系查看RDD的依赖关系窄依赖宽依赖查看RDD的血缘关系查看RDD的依赖关系窄依赖窄依赖相当于OneToOne如果 B RDD 是由 A RDD 计算得到的, 则 B RDD 就是 Child RDD, A RDD 就是 parent RDD.如果依赖关系在设计的时候就可以确定, 而不需要考虑父 RDD 分区中的记录, 并且如果父 RDD 中的每个分区最多只有一个子分区, 这样的依赖就叫窄依赖一句话总结: 父 RDD 的每个分区最多被一个 子RDD 的分区使用具体来

2020-08-16 23:23:12 418

原创 reduceByKey和groupByKey性能上差异比较大

reduceByKey聚合groupByKey分组,如果分组的目的是为了聚合,那么应该使用聚合算子,比如reduceByKey看下面这张图就明白了

2020-08-15 23:36:09 380

原创 Spark Core快速入门系列(2) | Spark对集合的切片原理

话不多说,直接看源码!ctrl+左键这里就是讲怎么计算分区的接下来就举个例子吧!(30,40,50,60,70,10,20,60,90,10) 数组有10个,切片为3startend0*10/3=0(0+1)/10*3=31*10/3=3(1+1)*10/3=62*10/3=6(2+1)*10/3=10那么1分区有3个 2分区有3个 3分区有4个...

2020-08-15 23:06:53 322

原创 Spark Core快速入门系列(1) | 运行模式-4种

目录Local 模式使用 Spark-shell提交流程wordcount 数据流程分析:Standalone 模式配置 Standalone 模式使用 Standalone 模式运行计算 PI 的程序在 Standalone 模式下启动 Spark-shell配置 Spark 任务历史服务器(为 Standalone 模式配置)HA 配置(为 Mater 配置)Standalone 工作模式图解Yarn 模式Yarn 模式概述Yarn 模式配置Mesos 模式几种运行模式的对比Local 模式Loca

2020-08-14 23:48:37 455

原创 掌握这些正则表达式就够了!!!

正则的基本语法含义[ab]a或者b[a-z]所有的小写字母[a-zA-Z0-9]数字字母下划线[^a]非字符a 注意:^只有在[]内部才表示非,如果不是在内部表示字符开头\d表示数字 等价[0-9] (digital)\D表示非数字 等价于[^0-9]\w表示单词字符串 数字字母下划线 等价于[a-zA-Z0-9_] (word)\W表示非单词字符 等价于[^a-zA-Z0-9_]\s表示空白字符 sp...

2020-08-14 16:21:43 125

原创 Phoenix 快速入门

目录Phoenix 表操作Phoenix 表映射视图映射表映射视图映射和表映射的对比与总结Phoenix 创建 HBase 二级索引Phoenix 索引分类索引总结Phoenix 表操作显示所有表!tables或者!table创建表CREATE TABLE IF NOT EXISTS us_population ( state CHAR(2) NOT NULL, city VARCHAR NOT NULL, population BIGINT C

2020-08-13 20:37:48 507

原创 Phoenix安装部署

目录Phoenix安装部署配置 HBase 支持 Phoenix 创建二级索引Phoenix安装部署步骤 1: 下载 Phoenixhttp://archive.apache.org/dist/phoenix/apache-phoenix-4.14.2-HBase-1.3/步骤 2: 解压 jar 包tar -zxvf apache-phoenix-4.14.2-HBase-1.3-bin.tar.gz -C /export/serversmv apache-phoenix-4.14.2-HBa

2020-08-13 19:30:56 537

原创 Phoenix 简介

目录Phoenix 定义Phoenix 特点Phoenix 架构Phoenix 数据存储hbase和phoenix的对应关系Phoenix 定义Phoenix 最早是 saleforce 的一个开源项目,后来成为 Apache 的顶级项目。Phoenix 构建在 HBase 之上的开源 SQL 层. 能够让我们使用标准的 JDBC API 去建表, 插入数据和查询 HBase 中的数据, 从而可以避免使用 HBase 的客户端 API.在我们的应用和 HBase 之间添加了 Phoenix, 并不会

2020-08-13 18:17:05 550

原创 布隆过滤器原理+hbase应用场景(一看就明白)

目录布隆过滤器HBase中如何设置布隆过滤器布隆是个人,发明了布隆算法,基于布隆算法实现的组件,称为布隆过滤器!这个组件一般是用作过滤! 过滤功能: 在海量数据中,用非常高的效率和性能,判断一个数据是否在集合中存在! 作用: 布隆过滤器只能判断一个数据要么一定在集合中不存在,要么在集合中可能存在!误判: 布隆过滤器判断数据可能存在,实际扫描后,发现不存在,这种情况有存在的几率!布隆过滤器是可以提升读的性能!存在误判率!那么我就画一个图来解释一下说明R3在集合中一定不存在说明R4可能存

2020-08-12 22:58:11 1081

原创 HBase优化

目录高可用预分区RowKey设计内存优化基础优化总结(hbase的优化)高可用在HBase中Hmaster负责监控RegionServer的生命周期,均衡RegionServer的负载,如果Hmaster挂掉了,那么整个HBase集群将陷入不健康的状态,并且此时的工作状态并不会维持太久。所以HBase支持对Hmaster的高可用配置。1.关闭HBase集群(如果没有开启则跳过此步) bin/stop-HBase.sh2.在conf目录下创建backup-masters文件touch conf/

2020-08-12 22:34:20 260

原创 HBase-MapReduce

目录官方HBase-MapReduce自定义HBase-MapReduce1自定义HBase-MapReduce2idea上运行(不用打包)官方HBase-MapReduce1.查看HBase的MapReduce任务的执行bin/HBase mapredcp2.环境变量的导入让Hadoop加载Hbase的jar包,最简单的就是把HBase的jar包复制到Hadoop的lib里面,或者把HBase的包地址写到Hadoop的环境变量里面。(1)执行环境变量的导入(临时生效,在命令行执行下述操作)

2020-08-11 23:36:14 484

原创 Hbase高级

目录RegionServer 架构写流程总结读流程MemStore FlushStoreFile CompactionRegion SplitRegionServer 架构1)StoreFile保存实际数据的物理文件,StoreFile以Hfile的形式存储在HDFS上。每个Store会有一个或多个StoreFile(HFile),数据在每个StoreFile中都是有序的。2)MemStore写缓存,由于HFile中的数据要求是有序的,所以数据是先存储在MemStore中,排好序后,等到达刷写时

2020-08-11 21:53:08 336

原创 WARN [WorkerSender[myid=3]:QuorumCnxManager@588] - Cannot open channel to 4 at election address ha

[root@hadoop104 zookeeper-3.4.10]# bin/zkServer.sh statusZooKeeper JMX enabled by defaultUsing config: /export/servers/zookeeper-3.4.10/bin/../conf/zoo.cfgError contacting service. It is probably not running.查看日志 WARN [WorkerSender[myid=3]:QuorumCnx

2020-08-10 16:06:41 1141

原创 解决HBase的退格键ctrl+backspace键使用——xshell(终于可以不使用ctrl+backspace键!!!)

不用再按ctrl+back space了!!!!!!!!!!!!

2020-08-09 22:44:16 1113 1

原创 HBase简介

目录Hbase的来源HBase定义Hbase的特点HBase的特点Hbase的优点Hbase的缺点Hbase的总结HBase数据模型HBase逻辑结构HBase物理存储结构数据模型总结笔记Hbase的来源2006年Google技术人员Fay Chang发布了一篇文章Bigtable: ADistributed Storage System for Structured Data。该文章向世人介绍了一种分布式的数据库,这种数据库可以在局部几台服务器崩溃的情况下继续提供高性能的服务。2007年Powers

2020-08-09 21:56:40 520

原创 Zabbix使用(术语+实战)

目录Zabbix术语Host(主机)Item(监控项)Trigger(触发器)Action(动作)Zabbix实战创建Host创建Item创建Trigger测试Trigger创建Media type创建Action创建模板Zabbix术语Host(主机)一台你想监控的网络设备,用IP或域名表示。Item(监控项)你想要接收的主机的特定数据,一个度量数据。Trigger(触发器)一个被用于定义问题阈值和“评估”监控项接收到的数据的逻辑表达式。Action(动作)一个对事件做出反应的预定义的操

2020-08-09 20:16:20 244

空空如也

空空如也

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

TA关注的人

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