spark
闻香识代码
这个作者很懒,什么都没留下…
展开
-
redis 研究笔记汇总
redis 研究笔记汇总背景nosql 是为了解决高并发,高可扩展,高可用,高写入产生的数据库解决方案NoSql就是Not Only sql。Nosql是非关系型数据库,它是关系型数据库的良好补充,而不能替代关系型数据库Nosql数据库分类键值(Key-Value)存储数据库相关产品: Tokyo Cabinet/Tyrant、Redis、Voldemort、Berkeley DB典型应用: 内容缓存,主要用于处理大量数据的高访问负载。数据模型: 一系列键值对优势: 快速查询劣势:原创 2020-12-06 22:26:30 · 204 阅读 · 0 评论 -
spark streaming 结合kafka 精确消费一次将结果保存到hbase
spark streaming 结合kafka 精确消费一次将结果保存到hbase1. 环境scala 2.12.12jdk 1.8idea 2020.1maven 3.6.3spark 3.0.1kafka 0.10hadoop 3.2.1hbase 2.2.5 (另外一个明细数据幂等处理,保存到habse)redis 5.0pom<!-- 定义了一些常量 --> <properties> <maven.compiler.s原创 2020-12-06 20:23:44 · 992 阅读 · 0 评论 -
spark streaming 结合kafka 精确消费一次将结果保存到redis
spark streaming 结合kafka 精确消费一次到redis1. 环境scala 2.12.12jdk 1.8idea 2020.1maven 3.6.3spark 3.0.1kafka 0.10hadoop 3.2.1hbase 2.2.5 (另外一个明细数据幂等处理,保存到habse)redis 5.0pom<!-- 定义了一些常量 --> <properties> <maven.compiler.source原创 2020-12-06 20:11:45 · 1104 阅读 · 0 评论 -
spark streaming 入门案例演示
spark streaming 入门案例演示1. 环境scala 2.12.12jdk 1.8idea 2020.1maven 3.6.3spark 3.0.1kafka 0.10pom<!-- 定义常量 --> <properties> <maven.compiler.source>1.8</maven.compiler.source> <maven.compiler.target>1原创 2020-12-06 12:26:15 · 189 阅读 · 0 评论 -
Kafka 入门学习简介
Kafka 入门学习简介1. kafka是什么Apache Kafka is an open-source distributed event streaming platform used by thousands of companies for high-performance data pipelines, streaming analytics, data integration, and mission-critical applications官网http://kafka.apache原创 2020-12-06 12:21:40 · 184 阅读 · 0 评论 -
Spark Streaming 结合kafka流式数据处理代码案例(含精确消费一次结果保存到mysql)
Spark Streaming 结合kafka流式数据处理代码案例1. 背景在当前大数据处理中,根据数据处理类型可以分为离线数据处理和实时数据处理。不过目前主流的实时数据处理spark streaming和flink,其实前者只能算是准实时处理技术在国内,spark streaming做实时数据处理,一般都是结合kafka来进行数据消息缓存框架,包括spark官方案例也着重讲了这一点spark 官方文档 http://spark.apache.org/docs/latest/streaming-k原创 2020-12-06 11:40:47 · 1895 阅读 · 1 评论 -
中文分词框架Hanlp简单案例(scala)
中文分词框架Hanlp简单案例(scala)背景在机器学习中,如果需要对中文做自然语言处理,分词的环节必不可少。有很多好用框架Hanlp就是一个分词框架案例<dependency> <groupId>com.hankcs</groupId> <artifactId>hanlp</artifactId> <version>portable-1.7.4&l原创 2020-11-01 20:39:35 · 888 阅读 · 0 评论 -
大数据机器学习之KNN(k近邻)算法Spark mllib实现案例
大数据机器学习之KNN(k近邻)算法Spark mllib实现案例背景在大数据场景下,spark框架提供了支持分类,聚合,协同过滤,回归四大类场景的mllib模块本文讲述的knn刚好是spark mllib不支持,但可以自行实现的算法。案例数据标注的训练数据label,f1,f2,f3,f4,f50,10,20,30,40,300,12,22,29,42,350,11,21,31,40,340,13,22,30,42,320,12,22,32,41,330,10,21,原创 2020-11-01 17:37:44 · 2243 阅读 · 0 评论 -
大数据开发之机器学习总结(Mllib示例)(五)
大数据开发之机器学习总结(Mllib示例)(五)背景作为spark框架中支持机器学习的模块,其算法库核心内容如下可以看到,主要就是分类,回归,决策树等算法1. 分类算法分类算法属于监督式学习,使用类标签已知的样本建立一个分类函数或分类模型,应用分类模型,能把数据库中的类标签未知的数据进行归类分类在数据挖掘中是一项重要的任务,目前在商业上应用最多,常见的典型应用场景有流失预测、精确营销、客户获取、个性偏好等MLlib 目前支持分类算法有:逻辑回归、支持向量机、朴素贝叶斯和决策树导原创 2020-10-31 22:53:59 · 352 阅读 · 0 评论 -
Spark SQL 集成Hive(二)
Spark SQL 集成Hive(二)1. 背景Hive可以看做是一个转换器,将SQL转换为mapreduce或者spark程序Spark SQL也可以看成一个转换器,将SQL转换为spark程序Hive集成Spark SQL有几种集成方式,一种是直接使用Spark SQL替代Hive,SQL是Spark SQL,程序转换也是Spark 程序,唯一有关联的就是一个hive-site.xml配置文件。本文讲述的就是第一种另外一种集成方式就是SQL还是hive,但执行引擎变成了Spark。这种集成也原创 2020-10-08 14:25:09 · 196 阅读 · 0 评论 -
Spark SQL 集成Hive(一)
Spark SQL 集成Hive(一)1. 背景Hive可以看做是一个转换器,将SQL转换为mapreduce或者spark程序Spark SQL也可以看成一个转换器,将SQL转换为spark程序Hive集成Spark SQL有几种集成方式,一种是直接使用Spark SQL替代Hive,SQL是Spark SQL,程序转换也是Spark 程序,唯一有关联的就是一个hive-site.xml配置文件。本文讲述的就是第一种另外一种集成方式就是SQL还是hive,但执行引擎变成了Spark。2.原创 2020-10-08 11:34:33 · 712 阅读 · 0 评论 -
Spark SQL的自定义函数UDF
Spark SQL的自定义函数UDF1. 背景在SQL使用时,会有内置函数,但如果业务比较复杂,但又希望可以有更加灵活的函数使用和复用,则需要自定义UDF,就是user defined function,可以分为UDTF、UDAFUDTF,user defined table-generating function,就是将数据打散UDAF,user defined aggregating function,就是将数据聚合。2. 创建和使用UDF下述会使用案例来展示如何使用自定义函数2.1原创 2020-10-06 23:32:45 · 3619 阅读 · 0 评论 -
Spark SQL中Sparksession中的implicits探秘
Spark SQL中Sparksession中的implicits对象1. 背景在Spark SQL中,经常会需要如下代码import sparkSession.implicits._这是为了引入对象实例中的隐式转换2. 探秘源码SQLImplicits从上述源码可以看出,dataframe其实就是dataset的特殊形式...原创 2020-10-06 20:49:15 · 3860 阅读 · 0 评论 -
Spark SQL 中org.apache.spark.sql.functions归纳
Spark SQL 中org.apache.spark.sql.functions归纳注意,这里使用的是scala 2.12.12,spark版本是最新的3.0.1版本1. Sort functions/** * Returns a sort expression based on ascending order of the column. * {{{ * df.sort(asc("dept"), desc("age")) * }}} * * @group s原创 2020-10-06 20:42:22 · 2474 阅读 · 0 评论 -
Spark SQL案例(二)流量累加
Spark SQL案例(二)流量累加1. 背景本身Spark SQL支持2种风格的API,sql和dsl,各有优势,实际企业开发时,看情况选择。本文种案例是基于企业开发中常见场景抽象出来的案例,数据按照一定规则,将某些字段数据进行聚合,如流量分段累计等常见场景2. 案例需求,计算连续3天及以上登录用户数据1,2020-02-18 14:20:30,2020-02-18 14:46:30,20 1,2020-02-18 14:47:20,2020-02-18 15:20:30,30原创 2020-10-05 17:35:48 · 232 阅读 · 0 评论 -
Spark SQL案例(一)连续登录
Spark SQL案例(一)连续登录1. 背景本身Spark SQL支持2种风格的API,sql和dsl,各有优势,实际企业开发时,看情况选择。本文种案例是基于企业开发中常见场景抽象出来的案例,连续登录,连续打开等常见场景2. 案例需求,计算连续3天及以上登录用户数据guid01,2018-02-28guid01,2018-03-01guid01,2018-03-05guid01,2018-03-02guid01,2018-03-04guid01,2018-03-06gui原创 2020-10-05 17:30:52 · 352 阅读 · 0 评论 -
Spark SQL之dataframe数据保存
Spark SQL之dataframe数据保存1. 背景Spark SQL作为处理结构化数据的功能模块,本身支持SQL形式使用功能,内部也做了相对RDD更加高的抽象DataFrame也是一个抽象数据集合,但对比RDD多了schema数据结构化信息,可以将DataFrame看成是RDD+schema信息2. dataframe数据保存类型环境准备Idea2020jdk 1.8scala 2.12.12maven 3.6.3pom文件<!-- 定义了一些常量 -->原创 2020-10-05 17:07:52 · 2558 阅读 · 0 评论 -
Spark SQL之创建dataFrame的多种方法
Spark SQL之创建dataFrame的多种方法1.Spark SQL是什么官网http://spark.apache.org/sql/Spark SQL顾名思义,就是通过SQL来使用Spark强大的数据分析能力,而不用去写代码。类似一Hive,可以将框架的使用门槛极大降低。因为SQL是很多人都会使用的,而编写代码门槛相对高得多。2. dataFrame是什么官网介绍和RDD类似,dataFrame也是一个分布式抽象数据容器。并不存储数据,但会存储数据来源,数据操作以及数据结构化信原创 2020-10-05 16:56:09 · 911 阅读 · 0 评论 -
Spark RDD经典基础面试题
Spark RDD经典基础面试题面试基础题SparkContext哪一端创建的的?Driver端DAG是在哪一端被构建的?Driver端RDD是在哪一端生成的?Driver端调用RDD的算子(Transformation和Action)是在哪一端调用的Driver端RDD在调用Transformation和Action时需要传入函数,函数是在哪一端声明【定义】和传入的?Driver端RDD在调用Transformation和Action时需要传入函数,请问传入的函数是在哪一端执行了原创 2020-09-30 16:24:00 · 613 阅读 · 0 评论 -
Spark总结之RDD(七)
Spark总结之RDD(七)1. 背景Spark作为大数据分布式处理引擎,在设计思想上很大参考了mapreduce的设计思想,但在编程便利性上做了更高层级的抽象,屏蔽了很多分布式计算的细节。具体体现在编程接口的抽象设计上,如RDD、dataSet、dataFrame、DStream等Spark本身分为SaprkCore,包含RDD、Accumulators、broadCast,以及内部运行机制,在此之上,有更高层级的抽象,如Spark SQL、Spark Streaming、MLib、Graphx等原创 2020-09-30 16:13:09 · 163 阅读 · 0 评论 -
Spark RDD案例(六)自定义排序
Spark RDD案例(六)自定义排序1. 背景在大数据日常开发中,数据提取,转换,存储等工作是日常主要内容spark作为大数据处理分析引擎,底层主要是RDD抽象数据集,更上层的spark sql、dataset、dataframe、dstream等都是基于RDD来抽象的。本文主要讲述关于数据提取中最常见的数据排序处理,使用RDD来实现。最主要的是自定义排序,这也是日常开发中最常见的排序需求,一般都需要自定义排序规则2.案例代码需求将数据按照年龄降序,工资升序数据代码中手原创 2020-09-29 19:56:42 · 793 阅读 · 0 评论 -
Spark总结之RDD(六)
Spark总结之RDD(六)1. 背景Spark作为大数据分布式处理引擎,在设计思想上很大参考了mapreduce的设计思想,但在编程便利性上做了更高层级的抽象,屏蔽了很多分布式计算的细节。具体体现在编程接口的抽象设计上,如RDD、dataSet、dataFrame、DStream等Spark本身分为SaprkCore,包含RDD、Accumulators、broadCast,以及内部运行机制,在此之上,有更高层级的抽象,如Spark SQL、Spark Streaming、MLib、Graphx等原创 2020-09-29 15:35:22 · 712 阅读 · 0 评论 -
Spark RDD案例(五)经纬度转换为地理位置
Spark RDD案例(五)经纬度转换为地理位置1. 背景Spark作为大数据分析引擎,本身可以做离线和准实时数据处理Spark抽象出的操作对象如RDD、dataSet、dataFrame、DStream等都是高层级的抽象,屏蔽了分布式数据处理代码细节,操作分布式数据和处理就像使用scala集合接口一样便利。这样可以很大降低编程使用和理解门槛。在实际生产中,大数据处理面临的业务需求和正常java 业务需求一样,都是基于数据做处理。不同的是正常java业务数据相对较少,如mysql中适合存储的数据是原创 2020-09-28 22:27:07 · 1351 阅读 · 1 评论 -
Spark RDD案例(四)IP和地理位置映射统计
Spark RDD案例(四)IP和地理位置映射统计1. 背景Spark作为大数据分析引擎,本身可以做离线和准实时数据处理Spark抽象出的操作对象如RDD、dataSet、dataFrame、DStream等都是高层级的抽象,屏蔽了分布式数据处理代码细节,操作分布式数据和处理就像使用scala集合接口一样便利。这样可以很大降低编程使用和理解门槛。在实际生产中,大数据处理面临的业务需求和正常java 业务需求一样,都是基于数据做处理。不同的是正常java业务数据相对较少,如mysql中适合存储的数据原创 2020-09-28 21:10:50 · 1402 阅读 · 0 评论 -
Spark RDD案例(三)连续分布数据按照条件rollup
Spark RDD案例(一)连续分布数据按照条件rollup1. 背景Spark作为大数据分析引擎,本身可以做离线和准实时数据处理Spark抽象出的操作对象如RDD、dataSet、dataFrame、DStream等都是高层级的抽象,屏蔽了分布式数据处理代码细节,操作分布式数据和处理就像使用scala集合接口一样便利。这样可以很大降低编程使用和理解门槛。在实际生产中,大数据处理面临的业务需求和正常java 业务需求一样,都是基于数据做处理。不同的是正常java业务数据相对较少,如mysql中适合原创 2020-09-26 18:00:44 · 433 阅读 · 0 评论 -
Spark RDD案例(二)连续数据统计
Spark RDD案例(一)连续数据统计1. 背景Spark作为大数据分析引擎,本身可以做离线和准实时数据处理Spark抽象出的操作对象如RDD、dataSet、dataFrame、DStream等都是高层级的抽象,屏蔽了分布式数据处理代码细节,操作分布式数据和处理就像使用scala集合接口一样便利。这样可以很大降低编程使用和理解门槛。在实际生产中,大数据处理面临的业务需求和正常java 业务需求一样,都是基于数据做处理。不同的是正常java业务数据相对较少,如mysql中适合存储的数据是小而美的原创 2020-09-26 15:24:11 · 1047 阅读 · 0 评论 -
Spark RDD案例(一)分组TopN
Spark RDD案例(一)分组TopN1. 背景作为分布式数据处理引擎,Spark抽象出了很多算子,使得编程对比mapreduce更加遍历,实现需求时,也可以更加灵活,但也更容易出错。本文是大数据常见场景分组TopN的简化案例,实际企业生产中也会相对频繁遇到类似需求2. 案例需求以下数据是类似网站日志的记录,需要求出每个科目老师访问次数最多的那2个。数据http://bigdata.doit.cn/laozhanghttp://bigdata.doit.cn/laozhangh原创 2020-09-25 21:36:34 · 1222 阅读 · 0 评论 -
Spark总结之RDD(五)
Spark总结之RDD(五)1. 背景Spark作为分布式处理引擎,针对数据分布式处理做了很多抽象,这样在API使用上,可以屏蔽更多代码细节,使得编程更加遍历Spark抽象出的有RDD、dataSet、dataFrame、DStream等RDD从行为上可以划分transformation、action、既不是transformation也不是action三大种类型RDD从api接口设计上,可以分为底层RDD,高层级RDD,高层级RDD一般是使用底层的RDD来实现,稍后源码简洁会做展示。RDD只原创 2020-09-24 20:18:44 · 432 阅读 · 0 评论 -
Spark总结之RDD(三)
Spark总结之RDD(三)1. 背景Spark作为一个分布式数据处理引擎,针对数据处理做了高层级的抽象,如RDD、dataSet、dataFrame、DStream。本文关于RDD的总结,会从使用,源码等角度进行对比和分析。一定一定注意,RDD只是一个抽象数据集合,本身不存储数据,只是记录要处理的数据来源,要做的数据处理逻辑等信息。时刻注意,RDD中的代码执行到底是在driver端执行还是在executor上执行。一定需要区分清楚,因为在driver端执行,就意味着需要加载到内存中处理,而内存原创 2020-09-23 12:16:03 · 256 阅读 · 0 评论 -
Spark总结之RDD(四)
Spark总结之RDD(四)1. 背景Spark针对RDD的整体设计思想很多地方和MapReduce相似,但又做了很多优化.Spark整体API设计针对分布式数据处理做了很多优化,并且做了更高层级的抽象,API使用更加简单便捷.例如RDD\DataSet\DataFrame\DStream等本文主要关于RDD的介绍,RDD类型较多,大的分类是Transformation和Action类型,但具体的RDD中又可以进一步细分为基础的RDD和在基础RDD之上的高级RDD(内部调用基础RDD以及各种操作)原创 2020-09-21 23:18:52 · 834 阅读 · 0 评论 -
Spark 总结之RDD(二)
Spark 总结之RDD(二)1. 背景Spark作为分布式数据处理引擎,在企业实践中大量应用.对比Mapreduce既有性能上的优势,也有开发编程上的便捷性优势.Spark针对数据处理,对编程接口做了更高层级的抽象和封装,API使用起来更加方便.其中RDD DataSet DataFrame DStream等都是抽象出来的数据处理对象.RDD使用时会屏蔽掉具体细节,操作起来就跟操作Scala的集合对象一样便捷.2. RDD常见算子和方法2.1 RDD创建 查看方法RDD创建原创 2020-09-20 22:34:46 · 329 阅读 · 0 评论 -
Spark 总结之RDD(一)
Spark 总结之RDD(一)1. 背景Spark作为大数据分析处理引擎,参考了大量MapReduce的设计思路,但也在mapreduce基础上做了更多抽象,这样的接口设计使得spark编程更加便利Spark抽象出来的有RDD DataSet DataFrame DStream等.Spark作为分布式数据处理引擎,本质还是解决2个问题,数据切分和代码逻辑切分. 数据切分,这样可以使得分布式集群中每台计算机都处理一部分数据,代码逻辑切分,使得分布式集群中每台计算机领取各自的处理任务,并行执行任原创 2020-09-20 17:53:14 · 445 阅读 · 0 评论 -
Saprk 总结之执行流程简图(Client 模式)
Saprk 总结之执行流程简图(Client 模式)1. 背景Spark作为大数据分析处理引擎,本身大量参考了Mapreduce的设计思路.Spark作为分布式数据处理引擎,本身不存储数据,只是做数据分析.目前业界一般都是和hdfs结合起来,或者和hbase等结合起来,形成完整的数据存储和数据分析解决方案.分布式数据处理技术,为了能够发挥分布式集群各个计算机的优势,主要会做两件事,一个是对要处理的数据做切分,一个是对要执行的代码做切分.否则就无法充分利用分布式集群的优势Mapreduce中,利用原创 2020-09-20 11:59:01 · 239 阅读 · 0 评论 -
Spark RDD算子案例----数据检索并保存到mysql
Spark RDD算子案例----数据检索并保存到mysql1. 背景在Spark大数据分析处理引擎中,针对数据处理,抽象出了很多基于分布式的算子。对这些算子做操作就跟对本地的集合做操作一样便利。Spark中算子类型有RDD、dataset、dataframe、dstream等。本文演示案例主要是针对RDD的操作。本文案例主要是最简化的企业开发思路,读取结构化数据,使用spark处理,结果保存到mysql数据库中。(实际企业生产还会有一个OLAP过程,OLAP引擎会从结果数据库中检索数据并展示出来原创 2020-09-18 20:50:42 · 637 阅读 · 0 评论 -
Spark 官方文档概览3.0.1
Spark 官方文档概览3.0.1背景官方文档地址https://spark.apache.org/docs/latest/1. 概览2. 安全spark默认安全功能是关闭的,因为安全特性会对数据传输,数据访问等做更多校验,一定程度影响性能和使用便捷性。一般spark集群部署时会设置一台堡垒机,spark集群之间安全性设置会弱化,但堡垒机的安全特性会提升到最高。这样可以兼顾安全性和集群的使用便捷性。3. 下载这里注意,java版本最好使用java8。这也是目前企业开发中主流的j原创 2020-09-17 22:57:35 · 927 阅读 · 0 评论 -
Spark之PySpark使用
Spark之PySpark使用1. 背景Spark支持对多种编程语言的api,包括java、scala、python根据官方文档介绍,python其实是使用Spark框架最多的语言Spark支持对python的shell,api2. 环境配置在spark集群上安装python3, 版本必须是3.6以上yum install -y python3注意,安装好之后,使用python3 -V即可查看版本,python指令是指代python2版本的2. 修改所有spark集群节点的环境原创 2020-09-17 21:58:41 · 705 阅读 · 0 评论 -
Spark初探案例WordCount之Java版本
Spark初探案例WordCount之Java版本1. 背景Spark作为大数据处理引擎的事实标准,基本可以涵盖大数据处理的90%以上场景。Spark SQL、Streaming、MLib、Graphx作为大数据技术中最常见的案例,wordcount既简单,又可以很好跟实际企业开发中需求关联起来。因为很多企业需求其实就是换个面目的wordcount,或者组合型的wordcount需求而已spark提供了对多种语言的接口api支持,本文就是使用java进行验证。2. 案例代码注意,本案例是使用原创 2020-09-17 21:42:45 · 370 阅读 · 0 评论 -
Spark初探案例WordCount之Scala版本
Spark初探案例WordCount之Scala版本1. 背景2. 本地模式运行代码3. 集群standalone运行模式原创 2020-09-17 21:15:58 · 304 阅读 · 0 评论 -
Spark Shell客户端总结
Spark Shell客户端总结1. 背景作为服务器端运行软件,很多都会提供多种访问和操作方式。如mysql、hdfs、hbase、hive、clickhouse等等。都会提供api、shell客户端,web网页端、部分甚至还会有ui图形化工具。多种多样的访问和操作方式,都是为了方便调试和查看这些服务器端运行软件的,一个好的服务器软件一定是要容易上手的,这时候shell客户端就很重要,可以通过输入交互性命令来快速学习和验证软件的各个功能。spark也不例外,提供了shell客户端来做交互式的数据操原创 2020-09-16 23:25:14 · 962 阅读 · 0 评论 -
Spark 3.0.1环境搭建(stand alone模式)
Spark 3.0.1环境搭建(stand alone模式)1. 背景Spark作为大数据分析处理引擎的准事实标准,本身并不能存储数据,只能做数据分析。Spark的运行需要依赖资源调度和任务管理,Spark自带了一套资源调度和任务管理工具,运行stand slone模式时,就是采取这套工具。Spark本身还可以运行在其他资源管理和任务调度平台上,如Yarn、Mesos、Kubernates容器等。注意,本身Yarn和Spark内部的资源管理和任务调度也使用了容器技术,不过不是docker技术,但原创 2020-09-16 22:44:16 · 2001 阅读 · 1 评论