【问题标题】:How to use Spark's .newAPIHadoopFile() in Java如何在 Java 中使用 Spark 的 .newAPIHadoopFile()
【发布时间】:2016-09-01 13:15:10
【问题描述】:

我正在尝试在 spark 作业中读取 na lzo 文件。
我的 spark 版本是 1.6.0 (spark-core_2.10-1.6.0-cdh5.7.1)。

这是我的java代码:

JavaSparkContext sc = new JavaSparkContext(new SparkConf().setAppName("ReadLzo"));
JavaPairRDD <NullWritable, Text> lines = sc.newAPIHadoopFile(args[0],LzoTextInputFormat.class,NullWritable.class,Text.class,new Configuration());

但是我得到一个编译时异常:

方法newAPIHadoopFile(String, Class, Class, Class, JavaSparkContext 类型中的配置)不适用于 参数(字符串、类、类、 类,配置)

那么在Java中使用JavaSparkContext.newAPIHadoopFile()的正确方法是什么?

【问题讨论】:

  • 泛型 F、K 和 V 有哪些类型?

标签: java hadoop apache-spark


【解决方案1】:

不保证,但LzoTextInputFormat 扩展TextInputFormat,其Key 为LongWritable,值为Text

确保您的导入语句也是正确的类型。尤其是Text

【讨论】:

  • 感谢@cricket_007 我将密钥类从NullWritable 更改为LongWritable 它有效。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-08-18
  • 2017-02-26
  • 2015-01-05
  • 2020-04-04
  • 1970-01-01
  • 1970-01-01
  • 2014-01-31
相关资源
最近更新 更多