检查JavaRDD <text>是否包含有效的UTF-8

时间:2018-04-18 10:52:47

标签: validation apache-spark utf-8

我需要检查Java RDD是否包含有效的UTF-8。因此,有一个函数Text.validateUTF8(),它将byte []数组作为输入。对于我的情况,我需要将JavaRDD作为输入而不是byte [],或者以某种方式我可以将JavaRDD解析为byte []并进行UTF-8验证。 请注意,我不想再次重新阅读该文件。

以下是文件的阅读方式。

final String sourceFileName = "hdfs://localhost:9000/tmp/utfTest.csv";

Configuration hadoopConf = new Configuration();
// delimiter for the source file to be checked
hadoopConf.set("textinputformat.record.delimiter", "\n");

// read the data from file to be checked
JavaPairRDD<LongWritable, Text> rdd = jsc.newAPIHadoopFile(sourceFileName,
            TextInputFormat.class, LongWritable.class, Text.class, hadoopConf);

JavaRDD<Text> textJavaRDD = rdd.values();

请在这种情况下帮助我。

由于

0 个答案:

没有答案