2017-07-10 3 views
1

私はDatabricksを初めて使用しました& Spark/Scala。 私は現在、販売予測を学ぶ機械に取り組んでいます。 機能を作成するために、関数dayofyearを使用しました。 唯一の問題は私にnull値を返します。 私は別のものを使っていたので、私はこのCSVで試しました。 しかし、明らかに、私は間違っていた。 私はこの機能に関するドキュメントを読んだが、説明は実際には短い。 私はdayofmonthまたはweekofyearで同じ結果を試しました。戻り値はdayofyear関数から - Spark SQL

私はこれをどのように修正できますか教えてください。私は間違って何をしていますか?ここで

val path = "dbfs:/databricks-datasets/asa/planes/plane-data.csv" 
val df = sqlContext.read.format("csv") 
    .option("header", "true") 
    .option("inferSchema", "true") 
    .load(path) 

display(df) 
import org.apache.spark.sql.functions._ 

val df2 = df.withColumn("dateofyear", dayofyear(df("issue_date"))) 
display(df2) 

が結果だ:Result

答えて

0

あなたは

data.withColumn("issue_date", unix_timestamp($"issue_date", "MM/dd/yyyy").cast(TimestampType)) 
     .withColumn("dayofyear", dayofyear($"issue_date")) 

としてdayofyear機能を使用する前に、timestampissue_dateをキャストすることができ、この情報がお役に立てば幸い!

+0

ありがとうございました! 私はそれを考えなかった。私は文字列でこれを使うことができることを文書で見ました。 それは完全に動作します。 – KIToRe

+0

あなたを助けてくれてうれしいよ:) –