我是新来的火花,我发现自己经常纠结于将元组转换成另一个元组,这可能非常复杂,例如(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?