我对pyspark是个新手,我正面临着regex的问题。因此,我有一个日期列,我想检查列中的行是否为日期格式 ..。我知道如何在普通的python中做到这一点,但不知道pyspark,有人能帮助我吗? 我的代码: df =
Date name
0 12/12/2020 a
1 24/01/2019 b
2 08/09/2018 c
3 12/24/2020 d
print(re.search('\d.*\/.*\d.*\/.*\d', str(df['Date']))) 这提供了:
我有一个大型数据集(~4M行由~3K列组成),目前我的意思是使用Python/PySpark中的以下代码对每一列进行规范化:
import pyspark.sql.functions as f
means_pd = df.select(*[f.mean(c).alias(c) for c in df.columns]).toPandas()
diffs = df
for c in df.columns:
mean = means_pd.loc[0,c]
diffs = diffs.withColumn(c, f.col(c) - f.lit(mean))
这很慢,特别是遍历列的步骤。
我正在尝试对两个数据格式中的每一行应用pyspark函数散列算法来识别差异。散列算法是基于字符串的,所以我尝试将任何数据类型转换为字符串。我在日期列转换中面临大多数问题,因为在转换为字符串之前,需要更改日期格式,以使基于哈希的matching.Please保持一致,帮助我完成该方法。
#Identify the fields which are not strings
from pyspark.sql.types import *
fields = df_db1.schema.fields
nonStringFields = map(lambda f: col(f.name), filter(
我正在处理两个PySpark Dataframes,每个都有一个列。一个有3行(ColumnA),另一个有100行(ColumnB)。我想比较一下all row of ColumnA和每一行 of ColumnB。(我需要知道ColumnA中的任何一个日期是否大于ColumnB中的日期,如果是这样的话,在ColumnX a 1中添加)
我正在尝试重新创建我已经用Python使用Databricks完成的一些工作。我有一个数据,其中有一个名为“time”的列,以纳秒为单位。在Python中,我使用以下代码将字段转换为适当的日期时间值:
import pandas as pd
# Convert time field from nanoseconds into datetime
df["time"] = pd.to_datetime(df["time"], unit='ns')
此代码将下列值1642778070000000000转换为2022-01-21 15:14:30.现在
我用的是火花2.4.5。我想添加两个新的列,日期和日历周,在我的电火花数据框架df。因此,我尝试了以下代码:
from pyspark.sql.functions import lit
df.withColumn('timestamp', F.lit('2020-05-01'))
df.show()
但我收到了错误信息:AssertionError: col should be Column
您能解释一下如何添加日期列和日历周吗?
我结合使用withColumn和UDF来获取一个新列,然后选择两个列并将其分配给一个新的df。但是当我在这个新的df上运行TypeError()时,它给我的结果是:'NoneType‘对象是不可订阅的。show()运行得很好。我正在尝试获得新的df的长度。下面是我的代码: # Find all entities with names that are palindromes
# (name reads the same way forward and reverse, e.g. madam):
# print the count and show() the resulting S
我是Python和它的库pyspark的新手,我需要做一些POC,我需要读取来自上游的CSV文件,我收到的CSV文件没有任何分隔符,它将是一个基于位置的文件。我们可以在Oracle控制文件中这样做,在那里我们可以定义每一列的位置,并检索与在pyspark中相同的值。
我正在使用Apache Spark来处理我的Pyspark或python代码。
对于Ex.
来自TXT文件的两个采样线,它们的长度可能更长(文件中也可能有空白,在定义字段位置时需要考虑)
D30056747PRD0091921170811405ACTUAL ACTUAL 6222020190110001508014
D
我试图在VS-Code中运行pypsark,但我似乎无法将我的环境指向正确的pyspark驱动程序和路径。当我在终端窗口中运行pyspark时,它看起来是这样的: Using Spark's default log4j profile: org/apache/spark/log4j-defaults.properties
Setting default log level to "WARN".
To adjust logging level use sc.setLogLevel(newLevel). For SparkR, use setLogLevel(newLev
如果我有一个有两个列的PySpark DataFrame,text和subtext,其中subtext肯定会出现在text的某个地方。如何计算subtext在text列中的位置?
输入数据:
+---------------------------+---------+
| text | subtext |
+---------------------------+---------+
| Where is my string? | is |
| Hm, this one is different | on |
+--