这是我第一次尝试在Scala中读取序列格式数据,如果有人能帮助我使用正确的命令,我将不胜感激。
数据:
hdfs dfs -cat orders03132_seq/part-m-00000 | head
SEQ!org.apache.hadoop.io.LongWritableordeG�Y���&���]E�@��
我的命令:
sc.sequenceFile("orders03132_seq/part-m-00000", classOf[Int], classOf[String]).first
错误:
18/03/13 16:59:28 ERROR Executor:阶段1.0中任务0.0的异常 (TID 1)java.lang.RuntimeException:java.io.IOException:WritableName 无法加载类:订单 在org.apache.hadoop.io.SequenceFile $ Reader.getValueClass(SequenceFile.java:2103)
非常感谢你。
答案 0 :(得分:1)
您需要将其作为Hadoop文件阅读。您可以使用以下内容执行此操作:
sc.hadoopFile[K, V, SequenceFileInputFormat[K,V]]("path/to/file")
参考文档here。