現在有個CSV檔案,1000多個欄位,SPARK版本比較低只有1.6
要做資料分析,所以數字變數要歸一化,字符變數暫時用hash值也可以,所以有 doubleType 和 很少一些 StringType
1000多個schema 我列成 欄位名,欄位型別拉到spark里生成了 schema = structType(Array[structField])
然后老版本API里獲取資料方法
rdd= sc.textfile("sample.txt").split(",").map(attribute =>
Row(attribute(0).toDouble,attribute(1).toDouble,attribute(2).toDouble,attribute(3).toDouble,attribute(4).toDouble...........)
//這里要根據陣列元素下標 選擇attribute(i)是否轉換成 double 型別或者 string型別
)
DF = spark.createDataFrame(rdd, schema)
然后我發現 Row 這個 API非常呆,只有這個建構式以及 接受seq兩種
我想把 attribute(i) 等j經過處理放在一個陣列里 Row 貌似都接受不了
有什么正常方法組合成 DataFrame 嗎,組合了DF我要放在SQL里算每個變數的最大值最小值最后歸一化(mllib 里的歸一化還得把元素 Vector.dense感覺更麻煩了)
跪求教
http://bbs.ngacn.cc/read.php?&tid=12301156
uj5u.com熱心網友回復:
試試這個:https://github.com/databricks/spark-csv
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/60097.html
標籤:Spark
