小编Bab*_*abu的帖子

如何删除时间戳spark sql中的毫秒

我想在通过spark sql选择列时删除毫秒部分。

例如:2012-10-17 13:02:50.320

我想要的结果为 2012-10-17 13:02:50 我尝试过

spark.sql("select cast(datecol as timestamp) from table 
spark.sql("select unix_timestamp(datecol,"yyyy-MM-dd HH:mm:ss") from table
Run Code Online (Sandbox Code Playgroud)

两者似乎都不起作用,子字符串有效,但我需要时间戳格式,还有其他方法吗?

提前致谢

hive apache-spark-sql

8
推荐指数
2
解决办法
1万
查看次数

如何分组并连接 Dataframe Spark Scala 中的列表

我有一个包含两列数据的数据框,如下所示

+----+-----------------+
|acct|           device|
+----+-----------------+
|   B|       List(3, 4)|
|   C|       List(3, 5)|
|   A|       List(2, 6)|
|   B|List(3, 11, 4, 9)|
|   C|       List(5, 6)|
|   A|List(2, 10, 7, 6)|
+----+-----------------+
Run Code Online (Sandbox Code Playgroud)

我需要如下结果

+----+-----------------+
|acct|           device|
+----+-----------------+
|   B|List(3, 4, 11, 9)|
|   C|    List(3, 5, 6)|
|   A|List(2, 6, 7, 10)|
+----+-----------------+
Run Code Online (Sandbox Code Playgroud)

我试过如下,但似乎不起作用

df.groupBy("acct").agg(concat("device"))

df.groupBy("acct").agg(collect_set("device"))

请让我知道如何使用 Scala 实现这一目标?

scala dataframe apache-spark apache-spark-sql

5
推荐指数
2
解决办法
6900
查看次数

如何在pyspark中加载databricks包dbutils

我试图在 pyspark 中运行以下代码。

dbutils.widgets.text('config', '', 'config')
Run Code Online (Sandbox Code Playgroud)

这是给我一个错误说

 Traceback (most recent call last):
 File "<stdin>", line 1, in <module>
 NameError: name 'dbutils' is not defined
Run Code Online (Sandbox Code Playgroud)

那么,有什么方法可以通过包含 databricks 包(例如导入)在 pyspark 中运行它?

感谢您的帮助

pyspark databricks

5
推荐指数
3
解决办法
9696
查看次数

如何在Spark Scala中否定Isin方法

val data= List("z", "f", "h")

sqlContext.sql("select name from table")
          .when($"name".isin(data:_*),1)
          .otherwise(0)
          .show
Run Code Online (Sandbox Code Playgroud)

我该如何做相反的事情isin?我们有类似的东西isnotin吗?

scala apache-spark

2
推荐指数
1
解决办法
2976
查看次数

如何使用 Scala API 从 Spark 数据框中提取工作日作为数字

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

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

像下面这样

df.select(weekday(col("colname")))
Run Code Online (Sandbox Code Playgroud)

我在 python 和 sql 中找到了一个,但在 scala 中没有找到。有谁能帮我解决这个问题吗

在 sql 上下文中

sqlContext.sql("select date_format(to_date('2017-01-01'),'W') as week")
Run Code Online (Sandbox Code Playgroud)

scala apache-spark apache-spark-sql

0
推荐指数
1
解决办法
3425
查看次数

聚合期间在数据帧上获取第一个非空值 Spark scala

在聚合分组期间,目前我正在取第一个值。但我需要 Visit_id 列的第一个非空值。Spark Scala 中是否有任何方法,请告诉我。

DF.groupBy("id").agg(lit(first(col("visit_id"))).alias("visit_id")
Run Code Online (Sandbox Code Playgroud)

提前致谢。

scala dataframe apache-spark

0
推荐指数
1
解决办法
1969
查看次数