apache-spark - VectorUDT 用法

标签 apache-spark vector apache-spark-mllib apache-spark-ml

我必须获取数据类型并进行大小写匹配并将其转换为某种所需的格式。但是 org.apache.spark.ml.linalg.VectorUDT 的使用显示 VectorUDTprivate。另外,我特别需要使用 org.apache.spark.ml.linalg.VectorUDT 而不是 org.apache.spark.mllib.linalg.VectorUDT 。有人可以建议如何解决这个问题吗?

最佳答案

对于 org.apache.spark.ml.linalg 类型,您应该使用 org.apache.spark.ml.linalg.SQLDataTypes which provide singleton instances of the private UDT types 指定架构:

  • MatrixType对于矩阵 (org.apache.spark.ml.linalg.Matrix)。

    scala> org.apache.spark.ml.linalg.SQLDataTypes.MatrixType.getClass
    res0: Class[_ <: org.apache.spark.sql.types.DataType] = class org.apache.spark.ml.linalg.MatrixUDT
    
  • VectorType对于向量 (org.apache.spark.ml.linalg.Vector)。

    scala> org.apache.spark.ml.linalg.SQLDataTypes.VectorType.getClass
    res1: Class[_ <: org.apache.spark.sql.types.DataType] = class org.apache.spark.ml.linalg.VectorUDT
    

关于apache-spark - VectorUDT 用法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45809316/

相关文章:

scala - Spark构建失败: Error while building spark from source

c++ - 使用迭代器在 vector 中插入下一个值以进行映射

c++ - 将文件从 Boost filtering_streambuf 解压到 std::vector<unsigned char>?

c++ - vector 容量和储备

java - 更新 DenseVector 类中的元素,Spark

python - 如何将 excel (.xlsx) 文件读入 pyspark 数据框

scala - 将 mapWithState stateSnapShots 实体化到数据库,以便稍后恢复 Spark 流应用程序

apache-spark - 如何在 Apache Spark 中评估隐式反馈 ALS 算法的推荐?

scala - Spark MLlib 的线性回归仅返回单调预测

java + Spark : org. apache.spark.SparkException : Job aborted: Task not serializable: java. io.NotSerializableException