简体   繁体   English

如何将arraylist转换为元组?

[英]How to convert arraylist to tuple?

: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 5.0 failed 1 times, most recent failure: Lost task 0.0 in stage 5.0 (TID 5, localhost): org.apache.spark.SparkException: Data of type java.util.ArrayList cannot be used

My rdd was made from an avro file that contains a key "mylist". 我的rdd由包含密钥“ mylist”的avro文件制成。 How do I change this such that it uses a tuple of tuples instead? 我如何更改它,使其改为使用元组的元组? Is there a way to create a new RDD but convert that current arraylist of maps to a tuple of tuple of maps instead of arraylist of maps? 有没有一种方法可以创建新的RDD,但可以将当前的地图数组列表转换为地图元组而不是地图数组元组?

ie instead of [{"a":"vala", "a1":"vala1"},{"b":"valb", "b1":"valb1"}] , change it to (({"a":"vala", "a1":"vala1"},{"b":"valb","b1":"valb1"})) 即代替[{"a":"vala", "a1":"vala1"},{"b":"valb", "b1":"valb1"}] ,将其更改为(({"a":"vala", "a1":"vala1"},{"b":"valb","b1":"valb1"}))

You should just be able to call tuple on your list: 您应该可以在列表中调用tuple

>>> tuple([{"a":"vala", "a1":"vala1"},{"b":"valb", "b1":"valb1"}])
({'a': 'vala', 'a1': 'vala1'}, {'b1': 'valb1', 'b': 'valb'})

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM