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)

执行结果:

 

posted @   云山之巅  阅读(563)  评论(0编辑  收藏  举报
编辑推荐:
· 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 最大值最小值归一化
点击右上角即可分享
微信分享提示