小编Dat*_*101的帖子

如何以两行划分pyspark数据帧

我在Databricks工作.

我有一个包含500行的数据帧,我想创建包含100行的两个数据帧,另一个包含剩余的400行.

+--------------------+----------+
|              userid| eventdate|
+--------------------+----------+
|00518b128fc9459d9...|2017-10-09|
|00976c0b7f2c4c2ca...|2017-12-16|
|00a60fb81aa74f35a...|2017-12-04|
|00f9f7234e2c4bf78...|2017-05-09|
|0146fe6ad7a243c3b...|2017-11-21|
|016567f169c145ddb...|2017-10-16|
|01ccd278777946cb8...|2017-07-05|
Run Code Online (Sandbox Code Playgroud)

我试过以下但是收到错误

df1 = df[:99]
df2 = df[100:499]


TypeError: unexpected item type: <type 'slice'>
Run Code Online (Sandbox Code Playgroud)

python pyspark spark-dataframe databricks

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

在 Spark Dataframe 中解码 Base64

钥匙 价值 话题 分割
无效的 dGVzdF90ZXh0 主题名称 0
无效的 dGVzdF90ZXh0 主题名称 0
无效的 dGVzdF90ZXh0 主题名称 0

df_1

我有一个 Spark 数据框,其中列value是 Base64 编码的。我希望能够在数据框的末尾添加一个带有未编码版本的列。

import base64

df_2 = df_1.withColumn('unencoded_base64',base64.b64decode(df_1.value))
Run Code Online (Sandbox Code Playgroud)

上面的代码给了我错误:

TypeError: a2b_base64() argument 1 must be convertible to a buffer, not Column
Run Code Online (Sandbox Code Playgroud)

base64 apache-spark apache-spark-sql pyspark

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

迄今为止的Amazon Athena Covert字符串

我想将以下字符串:mmm-dd-yyyy转换为日期:yyyy-mm-dd

例如

2015-11-06至2015-11-06

在Amazon Athena内

amazon-athena

4
推荐指数
2
解决办法
9130
查看次数

NVARCHAR(50)上的功能不足,它保存数字但格式不同

我有一个列中有许多不同类型的数字,当我在它上面执行一个小于函数时,它似乎无法正常工作.

0 
0.000000 
-0.001000 
0.738000 
1.000000 
10.000000 
10.005000 
10.027000 
... 
99.947000 
99.962000 
99.988000 
990.307000 
991.190000 
9918.058000 
996 
997 
Run Code Online (Sandbox Code Playgroud)

这是数字的样本?

sql sql-server

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

pyspark在数据框中使用null替换多个值

我有一个数据框(df),并且在该数据框内有一列user_id

df = sc.parallelize([(1, "not_set"),
                     (2, "user_001"),
                     (3, "user_002"),
                     (4, "n/a"),
                     (5, "N/A"),
                     (6, "userid_not_set"),
                     (7, "user_003"),
                     (8, "user_004")]).toDF(["key", "user_id"])
Run Code Online (Sandbox Code Playgroud)

df:

+---+--------------+
|key|       user_id|
+---+--------------+
|  1|       not_set|
|  2|      user_003|
|  3|      user_004|
|  4|           n/a|
|  5|           N/A|
|  6|userid_not_set|
|  7|      user_003|
|  8|      user_004|
+---+--------------+
Run Code Online (Sandbox Code Playgroud)

我想用空值替换以下值:not_set,n / a,N / A和userid_not_set

如果我可以将任何新值添加到列表中并且可以更改它们,那将是很好的。

我目前在spark.sql中使用CASE语句来执行此操作,并希望将其更改为pyspark。

apache-spark pyspark pyspark-sql databricks

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

按不同的价值观分组

我希望在第一天分组,然后在本月剩下的时间里,我有数据可以跨越多年.

我有如下数据:

--------------------------------------
DAY MONTH   YEAR    VISITOR_COUNT
--------------------------------------
1   |   12    | 2014  | 16260
2   |   12    | 2014  | 15119
3   |   12    | 2014  | 14464
4   |   12    | 2014  | 13746
5   |   12    | 2014  | 13286
6   |   12    | 2014  | 14352
7   |   12    | 2014  | 19293
8   |   12    | 2014  | 13338
9   |   12    | 2014  | 13961
10  |   12    | 2014  | 9519
11  | …
Run Code Online (Sandbox Code Playgroud)

sql sql-server

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

使用PySpark删除和替换字符

我有一个数据框,并希望删除所有括号,并替换为两个连字符.

之前:

+------------+
|  dob_concat|
+------------+
|[1983][6][3]|
+------------+
Run Code Online (Sandbox Code Playgroud)

后:

+------------+
| dob_concat |
+------------+
| 1983-6-3   |
+------------+
Run Code Online (Sandbox Code Playgroud)

apache-spark-sql pyspark databricks

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