我有一个日期列,它是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")
答案 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|
// +----+