問題
你想導入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例子。