Spark ML之高级数据源
一.图像数据源
图像数据源用于从目录加载图像文件,它可以通过ImageIO
Java库将压缩图像(jpeg,png等)加载为原始图像表示形式。加载的DataFrame具有一StructType
列:“ image”,其中包含存储为图像架构的图像数据。该image
列的架构为:
- origin :(
StringType
代表图像的文件路径) - height:(
IntegerType
图像的高度) - width:(
IntegerType
图像的宽度) - nChannels :(
IntegerType
图像通道数) - mode:(
IntegerType
兼容OpenCV的类型) - data:(
BinaryType
以OpenCV兼容顺序的图像字节:大多数情况下按行BGR)
代码实现:
val image_df = spark.read.format("image").option("dropInvalid", true) .load("D:\\software\\spark-2.4.4\\data\\mllib\\images\\origin\\kittens") image_df.schema.printTreeString() image_df.select("image.origin", "image.width", "image.height") .show(true)
执行结果:
二.LIBSVM数据源
LIBSVM
数据源用于从目录加载“ libsvm”类型的文件。加载的DataFrame有两列:包含以double形式存储的标签编号和包含以Vectors存储的特征向量的特征。列的模式为:
- label:(
DoubleType
代表实例标签) - features :(
VectorUDT
代表特征向量)
代码实现:
val libsvm_df = spark.read.format("libsvm").option("numFeatures", "780") .load("D:\\software\\spark-2.4.4\\data\\mllib\\sample_libsvm_data.txt") libsvm_df.show(10)
执行结果:
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架
2019-09-07 SparkStreaming高级算子应用【combineByKey、transform,checkpoint】
2018-09-07 最大值最小值归一化