我是新來的火花,我發現自己經常糾結於將元組轉換成另一個元組,這可能非常複雜,例如(r._1 - >(r._2._1,r._2._2), r._3),並對此感到困惑。無論如何要改善這一點?如何提高spark rdd的可讀性?
1
A
回答
1
我會推薦使用DataFrame
s您可以通過名稱訪問列。這使您可以生成更好的可讀代碼。此外,您可以將這些幀存儲爲實木複合地板文件,這些文件不僅非常有效,而且還包含架構信息。這些操作非常有效地實施,並且通常不需要切換回RDD
。
4
不要使用元組,定義有意義的案例類。取而代之的
val rdd = sc.parallelize(Seq((1, "foo", (2, 2.0)), (2, "bar", (-1, 1.0))))
使用
case class Meta(someValue: Int, anotherValue: Double) case class Record(x: Int, y: String, meta: Meta) val records = sc.parallelize(Seq( Record(1, "foo", Meta(2, 2.0)), Record(2, "bar", Meta(-1, 1.0)))) records.map(record => (record.meta.anotherValue, record.x))
如果您使用的元組喜歡的圖案超過索引有用的綁定匹配。
rdd.map { case (x, _, (_, anotherValue)) => (anotherValue, x) }
相關問題
- 1. Laravel View - 提高可讀性
- 2. 如何看到RDD可用於Spark?
- 3. Spark RDD vs DataSet性能
- 4. 提高水豚測試的可讀性
- 5. 提高大attr_accessor的可讀性
- 6. 如何提高SQL可讀性和性能?
- 7. Spark流和高可用性
- 8. Spark不良查詢性能:如何提高Spark上的查詢性能?
- 9. 如何提高CSV閱讀性能
- 10. 如何提高插座讀取性能?
- 11. 如何提高這些linq語句的可讀性?
- 12. 如何整理太多的if語句以提高可讀性
- 13. Spark如何決定如何分區RDD?
- 14. Spark RDD apend
- 15. 如何分割單行CSS文件以提高可讀性?
- 16. 如何分割代碼以提高可讀性?
- 17. 如何通過針對S3的Spark流提高性能
- 18. Apache Spark:如何將Spark DataFrame轉換爲類型爲RDD [(Type1,Type2,...)]的RDD?
- 19. 作爲spark工作提交時,Spark RDD映射中的NullPointerException
- 20. 其他RDD中的Java Spark RDD?
- 21. 如何提取RDD內容並使用spark(scala)輸入DataFrame
- 22. Hbase Spark RDD JSON列
- 23. RDD到Dataframe Spark Couchbase
- 24. Spark scala RDD遍歷
- 25. 如何創建一個Spark RDD
- 26. 如何拆分Spark rdd Array [(String,Array [String])]?
- 27. Spark Spark RDD中的字符串替換
- 28. Apache spark:我們如何將RDD [v]分成Map [k,RDD [v]]?
- 29. DataFrame持久性不會提高Spark中的性能
- 30. lxml.Element對象的Spark Python RDD?