我使用下面的代码从文本文件中检索数据。检索数据使用了特定的关键字(错误)。
JavaRDD<Row> rowRDD = input.map(RowFactory::create);
List<StructField> fields = Arrays.asList(
DataTypes.createStructField("error_msg", DataTypes.StringType, true));
StructType schema = DataTypes.createStructType(fields);
DataFrame df = sqlContext.createDataFrame(rowRDD, schema);
Column column = new Column("error_msg");
DataFrame errors = df.filter(column.like("%Error%"));
System.out.println(errors.showString(1));
执行上述代码后,输出如下
+--------------------+
| error_msg|
+--------------------+
|java.lang.OutOfMe...|
+--------------------+
我想删除所有'+'和' - '标记,只获取消息行(java.lang.OutOfMe ...)。而且输出中也没有显示整行。 是否有任何方法或解决方法可以解决此问题。任何帮助都可以得到真正的赞赏。
答案 0 :(得分:0)
使用errors.first()
时,可以获取整个已识别的行并按照您的方式将其拆分。