我正在尝试从类中的 HDFS 读取一个普通文件,我将通过 spark-submit 执行该文件。
我有一个执行字符串操作的方法,它从这个字符串输出中创建 RDD。
在创建 RDD 之前,我正在执行以下字符串操作。
我应该对变量 valueString 使用 StringBuilder 还是 StringBuffer ?
while ((line = bf.readLine()) != null) {
String trimmedLine=line.trim();
if(trimmedLine.charAt((trimmedLine.length()-1))==';'){
if(extractionInProgress){
valueString=valueString.concat(trimmedLine.substring(0,trimmedLine.indexOf(";")));
keyValues.put(searchKey, valueString);
extractionInProgress=false;
valueString="";
}
else{
int indexOfTab=trimmedLine.indexOf(" ");
if(indexOfTab > -1){
String keyInLine=trimmedLine.substring(0,indexOfTab);
valueString=trimmedLine.substring(indexOfTab+1,trimmedLine.indexOf(";"));
keyValues.put(keyInLine, valueString);
valueString="";
}
}
}
else{
if(!extractionInProgress){
searchKey=trimmedLine;
extractionInProgress=true;
}
else{
valueString=valueString.concat(trimmedLine.concat("\n"));
}
}
}