问题
你想导入timestamp_millis或unix_millis成一个Scala的笔记本,但得到一个错误消息。
% scala org.apache.spark.sql.functions进口。{timestamp_millis, unix_millis}
错误:价值timestamp_millis org.apache.spark.sql不是一个成员对象。功能导入org.apache.spark.sql.functions。{timestamp_millis, unix_millis}
导致
的函数timestamp_millis和unix_millis不可以在Apache火花DataFrame API。
这些函数的SQL和包括在引发3.1.1以上。
解决方案
您需要使用selectExpr ()与timestamp_millis或unix_millis如果你想用DataFrame使用其中的一个。
selectExpr ()需要一组SQL表达式并运行它们。
例如,此示例代码运行时返回一个错误消息。
% scala sqlContext.implicits进口。_ val df = Seq((1,“第一个值”),(2,“第二价值”))。toDF (“int_column”、“string_column”)进口org.apache.spark.sql.functions。{unix_millis} org.apache.spark.sql.functions进口。坳df.select (unix_millis(坳(“int_column”))),告诉()
错误:价值unix_millis org.apache.spark.sql不是一个成员对象。功能导入org.apache.spark.sql.functions。{unix_millis}
虽然这个示例代码,使用selectExpr ()成功返回时间戳值。
% scala org.apache.spark.sql.functions进口。_进口sqlContext.implicits。_ val ndf = Seq((1,“第一个值”),(2,“第二价值”))。toDF (“int_column”、“string_column”)显示(ndf.selectExpr (“timestamp_millis int_column "))
例如笔记本电脑
检查不能导入timestamp_millis或笔记本unix_millis例子。