spark集成hudi

启动spark-shell

spark-shell \
> --jars /opt/software/hudi-spark3.1-bundle_2.12-0.12.0.jar \
> --conf 'spark.serializer=org.apache.spark.serializer.KryoSerializer'\
>   --conf 'spark.sql.extensions=org.apache.spark.sql.hudi.HoodieSparkSessionExtension'

2

hudi内置数据生成器,生成10条json数据

scala> :paste
// Entering paste mode (ctrl-D to finish)import org.apache.hudi.QuickstartUtils._
import scala.collection.JavaConversions._
import org.apache.spark.sql.SaveMode._
import org.apache.hudi.DataSourceReadOptions._
import org.apache.hudi.DataSourceWriteOptions._
import org.apache.hudi.config.HoodieWriteConfig._
import org.apache.hudi.common.model.HoodieRecordval tableName="hudi_trips_cow"
val basePath ="file:///tmp/hudi_trips_cow"
val dataGen = new DataGeneratorval inserts=convertToStringList(dataGen.generateInserts(10))

3加载到DF,写入hudi,实现简单etl处理

scala> :paste
// Entering paste mode (ctrl-D to finish)val df = spark.read.json(spark.sparkContext.parallelize(inserts, 2))
df.write.format("hudi").options(getQuickstartWriteConfigs).option(PRECOMBINE_FIELD_OPT_KEY, "ts").option(RECORDKEY_FIELD_OPT_KEY, "uuid").option(PARTITIONPATH_FIELD_OPT_KEY, "partitionpath").option(TABLE_NAME, tableName).mode(Overwrite).save(basePath)

4读取存储数据及注册临时表

scala> :paste
// Entering paste mode (ctrl-D to finish)val tripsSnapshotDF = spark.read.format("hudi").load(basePath + "/*/*/*/*")
tripsSnapshotDF.createOrReplaceTempView("hudi_trips_snapshot")
spark.sql("select fare, begin_lon, begin_lat, ts from  hudi_trips_snapshot where fare > 20.0").show()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/106922.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

RuoYi若依管理系统最新版 基于SpringBoot的权限管理系统

RuoYi是一个后台管理系统,基于经典技术组合(Spring Boot、Apache Shiro、MyBatis、Thymeleaf)主要目的让开发者注重专注业务,降低技术难度,从而节省人力成本,缩短项目周期,提高软件安全质量。 本…

如何短期通过PMP考试?(含pmp干货)

一般PMP的准备考试时间都是一个月到三个月之间,一般都不会花超过半年的时间去准备考试的,毕竟想要学习项目管理的人一般应该都还是讲究高效率的,对待考试肯定也是在短时间内去高效学习备考的。 但对于怎样在短期内能够极好的去迎战PMP考试&a…

EasyRecovery易恢复2023最新免费的电脑数据恢复软件

EasyRecovery是一款非常专业的硬盘数据恢复工具,EasyRecovery拥有磁盘诊断、数据恢复、文件修复、E-mail 修复等功能。有了EasyRecovery,你可以把误删,被破坏的文件,格式化的磁盘轻轻松松的找回来。小伙伴们可以使用EasyRecovery恢…

debian apt安装mysqlodbc

mysql的deb包下载地址 下载后上传到linux后, #安装deb包 apt install ./mysql-apt-config_0.8.26-1_all.deb #更新源 apt-get update #搜索包 apt search odbc #安装包 apt-get install mysql-connector-odbc

统一潮流控制器 (UPFC) 的应用,以增强电力系统中的电压稳定性(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

macOS Ventura 13.5.2(22G91)发布,附黑/白苹果镜像下载地址

系统介绍(下载请百度搜索:黑果魏叔) 黑果魏叔 9 月 8 日消息,苹果今日向 Mac 电脑用户推送了 macOS 13.5.2 更新(内部版本号:22G91),本次更新距离上次发布隔了 21 天。 本次更新查…

geek完全卸载sqlserver2012

前言 有时候sqlserver2012 出现问题,需要卸载安装 会出现卸载不干净的问题 需要用到geek去卸载 卸载 双击exe打开软件 输入sql查询相关的软件 依次一个一个的去删除

抖音无需API开发连接Stable Diffusion,实现自动根据评论区的指令生成图像并返回

抖音用户使用场景: 随着AI绘图的热度不断升高,许多抖音达人通过录制视频介绍不同的AI工具,包括产品背景、使用方法以及价格等,以吸引更多的用户。其中,Stable Diffusion这款产品受到了许多博主达人的青睐。在介绍这款产…

【Redis】Bitmap 使用及应用场景

前言:bitmap 占用空间小,查询效率高,在一些场景中使用 bitmap 是一个很好的选择。 一、bitmap 相关命令 SETBIT - 设置指定位置的比特值,可以设为 1 或 0 例如 SETBIT key 10 1,将在 key 对应的 bitmap 中第10位设置为…

Vue生成多文件pdf准考证

这是渲染的数据 这是生成的pdf文件,直接可以打印 需要安装和npm依赖和引入封装的pdf.js文件 npm install --save html2canvas // 页面转图片 npm install jspdf --save // 图片转pdfpdf.js文件 import html2canvas from "html2canvas"; import jsPDF …

陆续反水,ASML之后,日本尼康也可能对中国出售光刻机

随着中国一家手机企业发布5G手机,证明中国芯片制造自研先进光刻机取得成功,ASML率先跟进--表示已获得许可对中国出售更先进的2000i光刻机,日前再有消息传出,曾紧跟美国脚步的日本光刻机企业尼康也在考虑重新对中国出口光刻机。 一…

C++ 多态

引例&#xff1a; #include<iostream> using namespace std; class Animal { public:void speak(){cout<<"动物在说话"<<endl;} }; class Cat:public Animal { public:void speak(){cout<<"小猫在说话"<<endl;} }; void Do…