【问题标题】:Spark Scala year/month function error: not foundSpark Scala年/月函数错误:未找到
【发布时间】:2018-03-27 05:21:15
【问题描述】:

我的代码出现以下错误,你能告诉我为什么吗?

notebook:28: error: not found: value month Retail_df = Retail_df.withColumn("月份", month(retail_df("Date")))

notebook:29: error: not found: value year Retail_df = Retail_df.withColumn("年份", year(retail_df("日期")))

import org.apache.spark.sql.types._

// Make cutom schema
var schema = StructType(Array(
       StructField("Store", IntegerType, true),
       StructField("DayOfWeek", IntegerType, true),
       StructField("Date", DateType, true),
       StructField("Sales", IntegerType, true),
       StructField("Customers", IntegerType, true),
       StructField("Open", IntegerType, true),
       StructField("Promo", IntegerType, true),
       StructField("StateHoliday", StringType, true),
       StructField("SchoolHoliday", StringType, true)))

val retail_dfr = sqlContext.read.format("com.databricks.spark.csv").option("header", "true").schema(schema)
var retail_df = retail_dfr.load("/FileStore/tables/Rossman/train.csv")

val sales_custs_df = retail_df.select( "Store", "Sales", "Customers" )
val retails_open_df = retail_df.where( retail_df("Open") > 0)
val holidays_df = retail_df.filter(($"StateHoliday" === 1) && ($"SchoolHoliday" === 1))
val store_ids = retail_df.select(retail_df("Store")).distinct()
var weekday_promos = retail_df.stat.crosstab( "DayOfWeek" , "Promo" )

weekday_promos = weekday_promos.withColumnRenamed( "DayOfWeek_Promo", "DayOfWeek" )
                             .withColumnRenamed( "0", "NoPromo" )
                             .withColumnRenamed( "1","Promo" )

retail_df = retail_df.withColumn("Month", month(retail_df("Date")))
retail_df = retail_df.withColumn("Year", year(retail_df("Date")))

retail_df.show(5)

【问题讨论】:

    标签: scala apache-spark


    【解决方案1】:

    monthyear 都需要导入才能使用。要导入它们,请使用

    import org.apache.spark.sql.functions.{month, year}
    

    import org.apache.spark.sql.functions._
    

    导入所有可用的 sql 函数。有关可用内容的更多信息,请访问here

    【讨论】:

    • 你好,J'ai bien fais "import org.apache.spark.sql.function._"。 Les focntions hour et next_day fonctionnent bien mais pour dayofweek j'ai une erreur...." error: not found: value dayofweek"..... Pourtant dayofweek apparait bien dans la doc...
    • @Anneso:我不知道为什么你会认为我懂法语,但 dayofweek 函数是在 2.3.0 版中添加的。我猜你使用的是旧版本。
    • 对不起,我昨天累了,所以我不假思索地用母语回复^^。但我对你理解它印象深刻;-)。谢谢您的回答!!!! :-)
    • @Anneso:没问题,乐于助人:)
    猜你喜欢
    • 1970-01-01
    • 2017-08-07
    • 2017-01-28
    • 1970-01-01
    • 2016-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多