我使用下面的代码从文本文件中检索数据。检索数据时使用特定的关键字(Error)。
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...)。而且输出中也没有显示整行。 有没有什么方法或解决方法可以解决这个问题。任何帮助都将非常感激。
最佳答案
当使用errors.first()
时,可以获取整个识别行并按照您的方式分割它。
关于java - 如何使用 Spark 和 JavaRDD 检索特定行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43950389/