を定義するために、私はHDFSデータを読みたいが、データがsaveAsObject[(String,Int,SparseVector)]
かsaveAsObject[(Int,String,Int)]
として保存することができるなどScalaの方法objectFile [タイプ](パス)
だから、私に"String,Int,SparseVector"
などのようなコマンドラインパラメータを渡したいです求人:
enter code here
type
を入手する方法saveAsObject[type]
のコマンドライン引数から?
object Test2 {
def main(args: Array[String]): Unit = {
val conf=new org.apache.spark.SparkConf()
val sc = new org.apache.spark.SparkContext(conf)
var fmt = "Int,String,SparseVector"
if(args.size!=0){fmt=args(0)}
var fmt_arr=fmt.split(",")
type data_type=(matchClass(fmt_arr(0)),matchClass(fmt_arr(1)),matchClass(fmt_arr(2)))
val data = sc.objectFile[data_type]("")
}
def matchClass(str:String)={
str match {
case "String" => String
case "Int" => Int
case "SparseVector" => SparseVector
case _ => throw new RuntimeException("unsupported type")
}
}
}
質問を再フォーマットし、試したコードを追加してください。 – AndreyF