从dataframe spark scala中提取weeknumber

时间:2018-05-02 15:19:00

标签: scala apache-spark spark-dataframe

我有一个日期列,它是2017-01-01 12:15:43时间戳格式的数据框中的字符串。

现在我想使用数据框而不是spark sql从该列获取工作日编号(1到7)。

如下所示

df.select(weekday(col("colname")))

我在python和sql中找到了一个但在scala中找不到。任何人都可以帮助我

在sqlcontext中

sqlContext.sql("select date_format(to_date('2017-01-01'),'W') as week")

1 个答案:

答案 0 :(得分:2)

这在Scala中的工作方式相同:

def find_names_of_module(module):

    with open(module.__file__) as f:
        code = f.read()

    tree = ast.parse(code)

    assignments = (node for node in tree.body if isinstance(node, ast.Assign))
    return {target.id for a in assignments for target in a.targets}

scala> spark.version
res1: String = 2.3.0

scala> spark.sql("select date_format(to_date('2017-01-01'),'W') as week").show
// +----+
// |week|
// +----+
// |   1|
// +----+