2017-05-13 14 views
1

テキストファイルからデータを取得するために以下のコードを使用しました。検索データには特定のキーワード(エラー)が使用されます。上記のコードを実行した後SparkとJavaRDDを使用して特定の行を取り出す方法は?

 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

解決策が見つかりました。 errors.first()を使用すると、エラー行全体を取得できます。 –

答えて

0

errors.first()を使用する場合は、識別された行全体を取得し、あなたの方法で分割することができます。

関連する問題