pyspark lit 常量

来源:互联网 发布:泸州大数据产业园 编辑:程序博客网 时间:2024/06/05 17:50
import org.apache.spark.sql.functions._val longLength = udf((bookTitle: String, length: Int) => bookTitle.length > length)import sqlContext.implicits._val booksWithLongTitle = dataFrame.filter(longLength($"title", $"10"))

注意,代码片段中的 sqlContext 是之前已经实例化的SQLContext对象。

不幸,运行这段代码会抛出异常:

cannot resolve '10' given input columns id, title, author, price, publishedDate;

因为采用 $ 来包裹一个常量,会让Spark错以为这是一个Column。这时,需要定义在org.apache.spark.sql.functions中的 lit 函数来帮助:

val booksWithLongTitle = dataFrame.filter(longLength($"title", lit(10)))
原创粉丝点击