5

Spark SQL で、DataFrame で map 関数を使用しようとすると、以下のエラーが発生します。

タイプ DataFrame のメソッド map(Function1, ClassTag) は、引数 (new Function(){}) には適用されません。

私はspark 1.3のドキュメントもフォローしています。https://spark.apache.org/docs/latest/sql-programming-guide.html#inferring-the-schema-using-reflection解決策はありますか?

これが私のテストコードです。

   // SQL can be run over RDDs that have been registered as tables.
DataFrame teenagers = sqlContext.sql("SELECT name FROM people WHERE age >= 13 AND age <= 19");

List<String> teenagerNames = teenagers.map(
            new Function<Row, String>() {
          public String call(Row row) {
            return "Name: " + row.getString(0);
          }
        }).collect();
4

6 に答える 6

0

pom に正しい依存関係が設定されていますか。これを設定して試してください

    <dependency>
        <groupId>org.apache.spark</groupId>
        <artifactId>spark-sql_2.10</artifactId>
        <version>1.3.1</version>
    </dependency>
于 2015-04-22T13:38:55.563 に答える
0

入力ファイルのデータとデータフレームのSQLクエリを確認してください。私が直面しているのと同じものであり、データを振り返ると、クエリと一致していませんでした。したがって、おそらくあなたが直面している同じ問題です。toJavaRDD と JavaRDD の両方が機能しています。

于 2016-04-12T06:45:34.163 に答える
0

正しいインポートを使用しているかどうかを確認してください

Row(import org.apache.spark.sql.Row) Row に関連する他のインポートを削除します。それ以外の場合、構文は正しいです

于 2016-02-04T11:02:47.540 に答える