
Spark
文章平均质量分 56
Spark
茅坤宝骏氹
语言:Java、C/C++、C#、Python、Linux Shell。
框架:Spring、Spring MVC、Spring Boot、Spring Cloud、Hibernate、Mybatis、Freemarker、Velocity。
前端:HTML5、CSS3、JavaScript、Bootstrap、JQuery、Vue、React。
数据库:oracle、mysql、MongoDB、HBase。
缓存:Memcache、Redis。
消息队列:kafka。
大数据:Hadoop、Hive、Sqoop、Flume、Spark、Strom、OpenTSDB、Druid。
展开
-
Spark SQL(十)之基于物品的推荐公式
一、基于物品的推荐公式其中,S(j,K)表示与物品j最相似的K个物品,N(u)表示用户u喜欢的物品集合,Rui表示用户u对物品i的评分。二、代码public class ItemCFRecommendApp { public static void main(String[]args){ SparkConf sparkConf = new SparkConf(); sparkConf.setAppName("ItemCFRecommendA.原创 2021-05-05 23:09:01 · 365 阅读 · 0 评论 -
Spark SQL(九)之基于用户的推荐公式
一、基于用户的推荐公式其中,S(u,K)表示与用户u最相似的K个用户,N(i)代表喜欢物品i的用户集合,rm表示用户v对物品i的评分。二、代码public class UserCFRecommendApp { public static void main(String[]args){ SparkConf sparkConf = new SparkConf(); sparkConf.setAppName("UserCFRecommendAp.原创 2021-05-05 22:55:12 · 240 阅读 · 0 评论 -
Spark SQL(八)之基于物品的相似度公式
一、基于物品的余弦相似度公式一其中,i、j表示任意两个物品,N(i)表示喜欢物品i的用户数,N(j)表示喜欢物品j的用户数。代码:public class ItemCFApp { public static void main(String[]args){ SparkConf sparkConf = new SparkConf(); sparkConf.setAppName("ItemCFApp"); sparkConf.setM原创 2021-05-05 22:03:58 · 696 阅读 · 0 评论 -
Spark SQL(七)之基于用户的相似度公式
一、基于用户的余弦相似度公式一其中,u、v表示任意两个用户,N(u)表示用户u喜欢的物品集合,N(v)表示用户v喜欢物品的集合。代码public class UserCFApp { public static void main(String[]args){ SparkConf sparkConf = new SparkConf(); sparkConf.setAppName("UserCFApp"); sparkConf.set原创 2021-05-05 21:53:47 · 686 阅读 · 0 评论 -
Spark Structure Streaming(一)之简介
一、Structure Streaming结构化流是基于Spark SQL引擎构建的可伸缩且容错的流处理引擎。可以像对静态数据进行批处理计算一样,来表示流计算。当流数据继续到达时,Spark SQL引擎将负责递增地,连续地运行它并更新最终结果。可以在Scala,Java,Python或R中使用Dataset / DataFrame API来表示流聚合,事件时间窗口,流到批处理联接等。计算是在同一优化的Spark SQL引擎上执行的。最后,该系统通过检查点和预写日志来确保端到端的一次容错保证。简而言之原创 2021-04-05 20:15:53 · 903 阅读 · 0 评论 -
Spark SQL(六)之加载数据的参数配置
一、配置忽略损坏的文件、忽略丢失的文件、路径全局过滤器、递归文件查找和修改时间路径过滤器等选项/配置仅在使用基于文件的源(parquet,orc,avro,json,csv,txt)时才有效。以下示例中使用的目录层次结构为:dir/ ├── childDir/ │ └── test.json └── test.avro └── test.orc └── test1.json二、忽略损坏的文件设置spark.sql.files.ignoreCorruptFiles为.原创 2021-03-31 21:28:13 · 1483 阅读 · 0 评论 -
Spark SQL(五)之数据加载与存储
一、数据加载(1)默认数据源(parquet)最简单加载数据的方式,所有操作都使用默认数据源(parquet)。如果指定默认数据源需要配置spark.sql.sources.default参数。Dataset<Row> manDF = spark.read().load("hdfs://master:9000/test.parquet");manDF.select("name", "desc").write().save("hdfs://master:9000/test1.pa.原创 2021-03-29 23:36:45 · 623 阅读 · 0 评论 -
Spark SQL(四)之DataSet与RDD转换
一、创建DataSetDataSet与RDD相似,但是,它们不使用Java序列化或Kryo,而是使用专用的Encoder对对象进行序列化以进行网络处理或传输。虽然编码器和标准序列化都负责将对象转换为字节,但是编码器是动态生成的代码,并使用一种格式,该格式允许Spark执行许多操作,例如过滤,排序和哈希处理,而无需将字节反序列化回对象。Encoder<Man> manEncoder = Encoders.bean(Man.class);Dataset<Man> ...原创 2021-03-29 23:07:25 · 1759 阅读 · 0 评论 -
Spark SQL(三)之视图与执行SQL
一、视图与sql执行SparkSession能够以编程方式运行SQL查询并返回结果Dataset<Row>Dataset<Row> df = spark.read().json("hdfs://master:9000/test.json");df.createOrReplaceTempView("man");Dataset<Row> sqlDF = spark.sql("SELECT * FROM man");sqlDF.show();二、会话.原创 2021-03-29 22:45:10 · 937 阅读 · 0 评论 -
Spark SQL(二)之DataSet操作
一、创建DataSet使用SparkSession,应用程序可以从现有的RDD,Hive表的或Spark数据源创建DataFrame 。(1)基于JSON的内容创建一个DataFrame//hdfsDataset<Row> df = spark.read().json("hdfs://master:9000/test.json");//rddRDD<String> jsonRDD = ...Dataset<Row> df = spark.read(原创 2021-03-26 22:57:24 · 2551 阅读 · 0 评论 -
Spark SQL(一)之简介
Spark SQL是用于结构化数据处理的Spark模块。与基本的Spark RDD API不同,Spark SQL提供的接口为Spark提供了有关数据结构和正在执行的计算的更多信息。在内部,Spark SQL使用这些额外的信息来执行额外的优化。与Spark SQL交互的方法有多种,包括SQL和Dataset API。计算结果时,将使用相同的执行引擎,而与要用来表达计算的API /语言无关。一、SparkSessionSparkSession类是Spark中所有功能的入口点。要创建一个基本的.原创 2021-03-25 22:24:27 · 244 阅读 · 0 评论 -
案例分析 | 由Decimal操作计算引发的Spark数据丢失问题
转载自案例分析 | 由Decimal操作计算引发的Spark数据丢失问题供稿 | Hadoop Team编辑 | 顾欣怡本文3058字,预计阅读时间10分钟导读eBay的Hadoop集群上面每天运行着大量Spark计算任务。对于数据计算任务,其计算性能十分重要,数据质量也不可忽视,特别是对于金融数据,数据发生损坏将会产生严重后果。本文分享一次数据质量相关的问题以及我们排查该问题的过程和解决方案。一、症状一天,金融分析团队的同事报告了一个问题,他们发现在两个生产环境...转载 2020-11-08 11:20:21 · 2283 阅读 · 0 评论 -
1.数据湖deltalake初识
转载自1.数据湖deltalake初识1.delta特性简介Delta Lake是Spark计算框架和存储系统之间带有Schema信息数据的存储中间层。它给Spark带来了三个最主要的功能:第一,Delta Lake使得Spark能支持数据更新和删除功能;第二,Delta Lake使得Spark能支持事务;第三,支持数据版本管理,运行用户查询历史数据快照。核心特性 ACID事务:为数据湖提供ACID事务,确保在多个数据管道并发读写数据时,数据能保持完整性。 数据版..转载 2020-11-08 11:06:12 · 3610 阅读 · 0 评论 -
2.数据湖DeltaLake之DDL操作
转载自2.数据湖DeltaLake之DDL操作前面讲了delta lake简介,特性及基本操作。本文主要是讲DeltaLake的DDL操作,实际上是依赖于spark datasourcev2 和catalog API(3.0+)的,所以Deltalake整合spark的时候最好是3.0开始吧,正好最近spark 3.0也发布了。对创建sparksession有点要求,需要加上两个配置:valspark = SparkSession .builder() .appName(this.ge..转载 2020-11-08 11:02:21 · 791 阅读 · 0 评论 -
实战 | 利用Delta Lake使Spark SQL支持跨表CRUD操作
转载自实战 | 利用Delta Lake使Spark SQL支持跨表CRUD操作供稿 |eBay ADI-Carmel Team作者| 金澜涛编辑 | 顾欣怡本文7309字,预计阅读时间22分钟导读本文介绍eBay Carmel团队利用Delta Lake,使Spark SQL支持Teradata的Update/Delete语法。主要从源码角度介绍了CRUD操作的具体实现和优化,以及delta表的管理工作。希望对同业人员有所启发和帮助。摘要大数...转载 2020-11-08 10:44:47 · 631 阅读 · 0 评论 -
Spark Streaming之统计socket单词数
一、统计socket单词数侦听TCP套接字的数据服务器接收到的文本数据中的单词数。二、maven配置<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache..原创 2020-07-10 21:43:08 · 434 阅读 · 0 评论 -
Spark入门(十八)之多表关联
一、多表关联输入是两个文件,一个代表工厂表,包含工厂名列和地址编号列;另一个代表地址表,包含地址名列和地址编号列。要求从输入数据中找出工厂名和地址名的对应关系,输出"工厂名——地址名"表二、maven设置<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema.原创 2020-07-09 12:38:20 · 1878 阅读 · 0 评论 -
Spark入门(十七)之单表关联
一、单表关联计算文本里面的父与子之间的关系,得到孙子与祖父之间的关系,输出结果。二、maven设置<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache..原创 2020-07-09 12:20:30 · 766 阅读 · 0 评论 -
Spark入门(十六)之分组求TOP N最小值
一、分组求TOP N最小值计算文本里面的每个key分组求TOP N最小值,输出结果。二、maven设置<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apac..原创 2020-07-09 08:43:33 · 564 阅读 · 0 评论 -
Spark入门(十五)之分组求最小值
一、分组求最小值计算文本里面的每个key分组求最小值,输出结果。二、maven设置<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM..原创 2020-07-09 08:29:44 · 853 阅读 · 0 评论 -
Spark入门(十四)之分组求最大值
一、分组求最大值计算文本里面的每个key分组求最大值,输出结果。二、maven设置<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM..原创 2020-07-09 08:23:39 · 2211 阅读 · 0 评论 -
Spark入门(十三)之分组求平均值
一、分组求值计算文本里面的每个key分组求值,输出结果。二、maven设置<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0..原创 2020-07-08 22:53:08 · 1535 阅读 · 0 评论 -
Spark入门(十二)之最值
一、Distinct计算文本里面的每个单词去重,输出结果。二、maven设置<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4...原创 2020-07-08 21:21:01 · 402 阅读 · 0 评论 -
Spark入门(十一)之排序
一、Sort计算文本里面的每个单词出现的个数,单词个数逆序(相同个数单词正序)输出结果。二、maven设置<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.ap..原创 2020-07-08 12:28:41 · 393 阅读 · 0 评论 -
Spark入门(十)之Distinct去重
一、Distinct计算文本里面的每个单词去重,输出结果。二、maven设置<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4...原创 2020-07-08 12:04:50 · 1356 阅读 · 0 评论 -
Spark入门(九)之PI估值
一、Pi估值算法通过在圆上“投掷飞镖”来估计π。我们在单位平方((0,0)到(1,1))中随机选取点,看看有多少点落在单位圆内。分数应该是π/4,所以我们用这个来得到我们的估计值。二、项目maven依赖<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-.原创 2020-07-08 09:17:35 · 577 阅读 · 0 评论 -
Spark入门(八)之WordCount
一、WordCount计算文本里面的每个单词出现的个数,输出结果。二、maven设置<?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/PO..原创 2020-07-08 09:09:38 · 348 阅读 · 0 评论 -
Spark入门(七)Spark SQL thriftserver/beeline启动方式
一、启动thrift服务启动thriftServer,默认端口为10000,。--jars 添加worker类库--driver-class-path 驱动类库--master spark集群地址--hiveconf hive.server2.thrift.port 启动端口spark-2.4.4/sbin/start-thriftserver.sh --master s...原创 2020-01-31 21:37:28 · 1568 阅读 · 0 评论 -
Spark入门(六)Spark SQL shell启动方式(元数据存储在mysql)
一、hive配置文件在spak/conf目录添加hive-site.xml配置,设置mysql作为元数据存储的数据库<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?><confi...原创 2020-01-31 16:17:37 · 1057 阅读 · 0 评论 -
Spark入门(五)Spark SQL shell启动方式(元数据存储在derby)
一、spark-sql shell介绍Spark sql是以hive SQL提交spark任务到spark集群执行。由于spark是计算框架没有存储功能,所有spark sql数据表映射关系存储在运行shell的当前目录下metastore_db目录里面(spark默认使用derby数据库创建的本地存储,使用其他非本地数据库没有此目录),切换不同的目录启动spark-sql shell会创...原创 2020-01-31 14:36:30 · 2672 阅读 · 0 评论 -
Spark入门(四)Idea远程提交项目到spark集群
一、依赖包配置scala与spark的相关依赖包,spark包后尾下划线的版本数字要跟scala的版本第一二位要一致,即2.11pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www....原创 2020-01-30 21:59:29 · 1725 阅读 · 0 评论 -
Spark入门(三)Idea构建spark项目
一、依赖包配置scala与spark的相关依赖包,spark包后尾下划线的版本数字要跟scala的版本第一二位要一致,即2.11pom.xml<?xml version="1.0" encoding="UTF-8"?><project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www....原创 2020-01-30 21:38:54 · 475 阅读 · 2 评论 -
Spark入门(二)多主standalone安装
一、集群安装条件前置实验spark安装在【Hadoop生态Zookeeper安装】机器上, 已完成安装zookeeper、jdk、hadoop和ssh、网络等配置环境等。spark所依赖的虚拟机和操作系统配置环境:ubuntu14 + spark-2.4.4-bin-hadoop2.6 +apache-zookeeper-3.5.6+jdk1.8+ssh虚拟机:(vmware...原创 2020-01-28 17:23:47 · 278 阅读 · 0 评论 -
Spark入门(一)单主standalone安装
一、集群安装条件前置实验spark安装在【Hadoop入门(二)集群安装】机器上, 已完成安装jdk,hadoop和ssh、网络等配置环境等。spark所依赖的虚拟机和操作系统配置环境:ubuntu14 + spark-2.4.4-bin-hadoop2.6+jdk1.8+ssh虚拟机:(vmware10)二、standalone安装环境设置(1)下载sparks...原创 2020-01-28 11:41:44 · 315 阅读 · 0 评论