gpt4 book ai didi

Java - Spark SQL DataFrame 映射函数不工作

转载 作者:搜寻专家 更新时间:2023-10-31 08:19:30 26 4
gpt4 key购买 nike

在 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();

最佳答案

将此更改为:

Java 6 和 7

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

Java 8

List<String> t2 = teenagers.javaRDD().map(
row -> "Name: " + row.getString(0)
).collect();

调用 javaRDD() 后,它的工作方式与任何其他 RDD 映射函数一样。

这适用于 Spark 1.3.0 及更高版本。

关于Java - Spark SQL DataFrame 映射函数不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29790417/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com