不能导入timestamp_millis或unix_millis

不能直接使用timestamp_millis或unix_millis DataFrame。你必须首先使用selectExpr()或使用SQL命令。

写的saritha.shivakumar

去年发表在:2022年5月20日

问题

你想导入timestamp_millisunix_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_millisunix_millis不可以在Apache火花DataFrame API

这些函数的SQL和包括在引发3.1.1以上

解决方案

您需要使用selectExpr ()timestamp_millisunix_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 "))

与selectExpr timestamp_millis返回结果。

例如笔记本电脑

检查不能导入timestamp_millis或笔记本unix_millis例子


这篇文章有用吗?