java - 如何使用 Spark 和 JavaRDD 检索特定行?

标签 java apache-spark

我使用下面的代码从文本文件中检索数据。检索数据时使用特定的关键字(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/

相关文章:

scala - spark Vectors 和 scala immutable Vector 之间的区别?

java - 识别调用 Web 服务的用户

java - findMin 惰性删除二叉搜索树

java - 安装 Oracle J2ME SDK 和 WTK 后 J2ME Palette 为空

java - 将数组常量传递给枚举构造函数

python - 如何使用 Python 更改任务映射内的全局变量值或减少 Apache Spark 中的全局变量值

scala - Spark - Scala - 用另一个数据框中的查找值替换数据框中的值

java - 创建 spark 客户端失败 : Hive on spark exception

apache-spark - 将日期从字符串转换为数据框中的日期格式

java - 我在这个解析中做错了什么?