不能導入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例子


這篇文章有用嗎?