我可以运行这个脚本以文本格式保存文件,但是当我尝试运行saveAsSequenceFile时,它出错了。如果有人知道如何将RDD保存为序列文件,请让我知道这个过程。我试图在“学习火花”和官方火花文件中寻找解决方案。
此操作成功运行
dataRDD = sc.textFile("/user/cloudera/sqoop_import/departments")
dataRDD.saveAsTextFile("/user/cloudera/pyspark/departments")
这失败了
dataRDD = sc.textFile("/user/cloudera/sqoop_import/departments")
dataRDD.saveAsSequenceFile("/user/cloudera/pyspark/departmentsSeq")
Error: An error occurred while calling z:org.apache.spark.api.python.PythonRDD.saveAsSequenceFile. : org.apache.spark.SparkException: RDD element of type java.lang.String cannot be used
数据如下:
2,Fitness
3,Footwear
4,Apparel
5,Golf
6,Outdoors
7,Fan Shop
8,TESTING
8000,TESTING
要写入序列文件,需要Hadoop API格式的数据。
字符串为文本
Int作为IntWritable
在Python中:
序列文件用于存储键值对,因此不能简单地存储
RDD[String]
。根据你的数据,我猜你在寻找这样的东西:如果要保留整个字符串,请使用
None
键:相关问题 更多 >
编程相关推荐