Scala 从dayofyear函数返回null-Spark SQL
我是Databricks&Spark/Scala的新手。 我目前正在一台机器上学习做销售预测。 我使用函数dayofyear来创建特性。 唯一的问题是返回空值。 我尝试使用这个csv,因为我正在使用另一个csv,我认为这可能来自这个csv。 但显然,我错了。 我阅读了有关此功能的文档,但描述非常简短。 我试着用一年中的第二个月或第二个星期,结果是一样的 你能给我解释一下我该怎么解决这个问题吗?我做错了什么Scala 从dayofyear函数返回null-Spark SQL,scala,function,apache-spark,null,apache-spark-sql,Scala,Function,Apache Spark,Null,Apache Spark Sql,我是Databricks&Spark/Scala的新手。 我目前正在一台机器上学习做销售预测。 我使用函数dayofyear来创建特性。 唯一的问题是返回空值。 我尝试使用这个csv,因为我正在使用另一个csv,我认为这可能来自这个csv。 但显然,我错了。 我阅读了有关此功能的文档,但描述非常简短。 我试着用一年中的第二个月或第二个星期,结果是一样的 你能给我解释一下我该怎么解决这个问题吗?我做错了什么 val path = "dbfs:/databricks-datasets/asa/pla
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)
结果如下:在使用
dayofyear
函数之前,您可以将发行日期
强制转换为时间戳
data.withColumn("issue_date", unix_timestamp($"issue_date", "MM/dd/yyyy").cast(TimestampType))
.withColumn("dayofyear", dayofyear($"issue_date"))
希望这有帮助 在使用
dayofyear
函数之前,您可以将issue\u date
强制转换为timestamp
data.withColumn("issue_date", unix_timestamp($"issue_date", "MM/dd/yyyy").cast(TimestampType))
.withColumn("dayofyear", dayofyear($"issue_date"))
希望这有帮助 谢谢你,伙计!我没想到。我在文件上看到我们可以在字符串上使用这个。它工作得很好。很高兴这对你有帮助:)谢谢你,伙计!我没想到。我在文件上看到我们可以在字符串上使用这个。它工作得很好。很高兴对您有所帮助:)