随笔分类 - Spark
摘要:一、基于物品的推荐公式 其中,S(j,K)表示与物品j最相似的K个物品,N(u)表示用户u喜欢的物品集合,Rui表示用户u对物品i的评分。 二、代码 public class ItemCFRecommendApp { public static void main(String[]args){ Sp
阅读全文
摘要:一、基于用户的推荐公式 其中,S(u,K)表示与用户u最相似的K个用户,N(i)代表喜欢物品i的用户集合,rm表示用户v对物品i的评分。 二、代码 public class UserCFRecommendApp { public static void main(String[]args){ Spa
阅读全文
摘要:一、基于物品的Jaccard相似度公式 其中,i、j表示任意两个物品,N(i)表示喜欢物品i的用户数,N(j)表示喜欢物品j的用户数。 代码: public class ItemCFApp { public static void main(String[]args){ SparkConf spar
阅读全文
摘要:一、基于用户的Jaccard相似度公式 其中,u、v表示任意两个用户,N(u)表示用户u喜欢的物品集合,N(v)表示用户v喜欢物品的集合。 代码 public class UserCFApp { public static void main(String[]args){ SparkConf spa
阅读全文
摘要:一、Structure Streaming 结构化流是基于Spark SQL引擎构建的可伸缩且容错的流处理引擎。可以像对静态数据进行批处理计算一样,来表示流计算。 当流数据继续到达时,Spark SQL引擎将负责递增地,连续地运行它并更新最终结果。可以在Scala,Java,Python或R中使用D
阅读全文
摘要:一、配置 忽略损坏的文件、忽略丢失的文件、路径全局过滤器、递归文件查找和修改时间路径过滤器等选项/配置仅在使用基于文件的源(parquet,orc,avro,json,csv,txt)时才有效。 以下示例中使用的目录层次结构为: dir/ ├── childDir/ │ └── test.json
阅读全文
摘要:一、数据加载 (1)默认数据源(parquet) 最简单加载数据的方式,所有操作都使用默认数据源(parquet)。如果指定默认数据源需要配置 spark.sql.sources.default参数。 Dataset<Row> manDF = spark.read().load("hdfs://ma
阅读全文
摘要:一、创建DataSet DataSet与RDD相似,但是,它们不使用Java序列化或Kryo,而是使用专用的Encoder对对象进行序列化以进行网络处理或传输。虽然编码器和标准序列化都负责将对象转换为字节,但是编码器是动态生成的代码,并使用一种格式,该格式允许Spark执行许多操作,例如过滤,排序和
阅读全文
摘要:一、创建DataSet 使用SparkSession,应用程序可以从现有的RDD,Hive表的或Spark数据源创建DataFrame 。 (1)基于JSON的内容创建一个DataFrame //hdfs Dataset<Row> df = spark.read().json("hdfs://mas
阅读全文
摘要:转载自 1.数据湖deltalake初识 1.delta特性简介 Delta Lake是Spark计算框架和存储系统之间带有Schema信息数据的存储中间层。它给Spark带来了三个最主要的功能: 第一,Delta Lake使得Spark能支持数据更新和删除功能; 第二,Delta Lake使得Sp
阅读全文
摘要:转载自 2.数据湖DeltaLake之DDL操作 前面讲了delta lake简介,特性及基本操作。本文主要是讲DeltaLake的DDL操作,实际上是依赖于spark datasourcev2 和catalog API(3.0+)的,所以Deltalake整合spark的时候最好是3.0开始吧,正
阅读全文
摘要:转载自 实战 | 利用Delta Lake使Spark SQL支持跨表CRUD操作 供稿 | eBay ADI-Carmel Team 作者 | 金澜涛 编辑 | 顾欣怡 本文7309字,预计阅读时间22分钟 导读 本文介绍eBay Carmel团队利用Delta Lake,使Spark SQL支持
阅读全文
摘要:一、统计socket单词数 侦听TCP套接字的数据服务器接收到的文本数据中的单词数。 二、maven配置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:x
阅读全文
摘要:一、多表关联 输入是两个文件,一个代表工厂表,包含工厂名列和地址编号列;另一个代表地址表,包含地址名列和地址编号列。要求从输入数据中找出工厂名和地址名的对应关系,输出"工厂名——地址名"表 二、maven设置 <?xml version="1.0" encoding="UTF-8"?> <proje
阅读全文
摘要:一、分组求最小值 计算文本里面的每个key分组求最小值,输出结果。 二、maven设置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:
阅读全文
摘要:一、分组求最大值 计算文本里面的每个key分组求最大值,输出结果。 二、maven设置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:
阅读全文
摘要:一、最值 计算文本里面的最值(最大值、最小值、平均值),输出结果。 二、maven设置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:
阅读全文
摘要:一、Sort 计算文本里面的每个单词出现的个数,单词个数逆序(相同个数单词正序)输出结果。 二、maven设置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmln
阅读全文
摘要:一、Pi估值算法 通过在圆上“投掷飞镖”来估计π。我们在单位平方((0,0)到(1,1))中随机选取点,看看有多少点落在单位圆内。分数应该是π/4,所以我们用这个来得到我们的估计值。 二、项目maven依赖 <?xml version="1.0" encoding="UTF-8"?> <projec
阅读全文
摘要:一、WordCount 计算文本里面的每个单词出现的个数,输出结果。 二、maven设置 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http
阅读全文