java - HDFS文件内容的Java拆分方法

标签 java file hadoop hdfs

我在HDFS中有一个制表符分隔的文本文件。尝试使用Tab拆分时,文件中的第一列未存储。相同的代码在正常的 eclipse 中也有效。但是在hadoop中运行时,第一列值将被忽略。

文件中的示例行:

002\tCK 00 - 01/02/2012\t100000\t0.02\t330\t3863\t3863 FOOD 

代码片段:
String subvalues[] = value.split("\t");
v1= subvalues[5];
v2=subvalues[0];
v3=subvalues[1];

请帮助。

最佳答案

value.split("\t")将由制表符分隔。但是,此行中也可能有空格。您可以尝试使用正则表达式分割行:

String subvalues[] = value.split("\\s+");

对于您的更新-可能您需要转义\t:value.split("\\t")value.split("\\t|\\s+")

注意:通常\t用作数据的语义定界符,因此您可能需要在通过\t拆分后解析列。

如果这样做没有帮助,则可以记录字符串的ascii值以查看其中的字符。

关于java - HDFS文件内容的Java拆分方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20095539/

相关文章:

azure - HDInsight Azure Blob存储更改

java - Selenium Chrome 驱动程序针对属性标签

java - Maven Surefire 不执行测试阶段

Java项目找不到文件

linux - 如何用hadoop打印文件树?

sql - 从 current_date 获取星期并在 SQL 中创建一个具有动态名称的表

Java数据文件在类之间共享

java.lang.reflect.InaccessibleObjectException : Unable to make field private final transient java.net.InetSocketAddress

html - 如何将文件从 html 选择器发送到 golang apis?

android - 如何在输入 View AlertDialog中添加setText