2016-08-08 12 views
0

私はspark SQLデータフレームに一連の医用画像をロードしようとしています。ここでは、各画像がデータフレームの行列の列に読み込まれます。 Sparkがこの種のケースをサポートするMatrixUDTを最近追加したのを見るが、データフレームで使用するためのサンプルが見つからない。SparkSQL DataframeのMatrixUDTを列として使用する

https://github.com/apache/spark/blob/master/mllib/src/main/scala/org/apache/spark/ml/linalg/MatrixUDT.scala

誰もがこれで私を助けることができます。

本当にありがとうございます。

おかげ

カルティクVadla

答えて

0

は実際にMatrixUDTは1.4以降o.a.s.mllib.linalgの一部となっており、ごく最近o.a.s.ml.linalgにコピーされています。公にされていないので、正しいスキーマを宣言することさえできないので、私はそれが一般的なアプリケーションのために意図されていることを真剣に疑っています。もちろん、APIは実際には有用であると制限されていることは言うまでもありません。

にもかかわらず、基本的な変換がうまく動作するので、あなたが必要とするすべての製品タイプのRDDまたはSeqである(もう一度スキーマを定義することはできません)、あなたが行ってもいいです:

import org.apache.spark.ml.linalg.Matrices 


Seq((1, Matrices.dense(2, 2, Array(1, 2, 3, 4)))).toDF 
// org.apache.spark.sql.DataFrame = [_1: int, _2: matrix] 

Seq((1, Matrices.dense(2, 2, Array(1, 2, 3, 4)))).toDS 
// org.apache.spark.sql.Dataset[(Int, org.apache.spark.ml.linalg.Matrix)] 
// = [_1: int, _2: matrix] 
関連する問題