小编ebe*_*tbm的帖子

java.lang.IndexOutOfBoundsException: 无组 1 | 派斯帕克

我正在尝试使用正则表达式和 Pyspark 中的以下脚本提取某些邮政编码的区域:

postcodes.select("raw_postcode", regexp_extract('raw_postcode', '^[a-zA-Z]+\d\d?[a-zA-Z]?', 1).alias("area")).show(40, False)

我得到以下异常:

Py4JJavaError: An error occurred while calling o562.showString.
: org.apache.spark.SparkException: Job aborted due to stage failure: Task 0 in stage 17.0 failed 4 times, most recent failure: Lost task 0.3 in stage 17.0 (TID 44, ip-172-31-100-215.eu-west-1.compute.internal, executor 1): java.lang.IndexOutOfBoundsException: No group 1
    at java.util.regex.Matcher.group(Matcher.java:538)
Run Code Online (Sandbox Code Playgroud)

我已经单独在 Python 中尝试了正则表达式并且它有效,但是它在 pyspark 中给我带来了麻烦。帮我查一下原因。

regex pyspark

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

如何使用cat,sed,awk或cut将列添加到csv文件中的特定位置?

我有一个包含此内容的csv文件:

   col1, col2, col5
    1,    1,    1
    2,    2,    2
    3,    3,    3
    4,    4,    4
Run Code Online (Sandbox Code Playgroud)

我需要在文件的第三个位置添加一个带有标题但是空值的列.

col1, col2, col3, col4
1,    1,        ,   1
2,    2,        ,   2
3,    3,        ,   3
4,    4,        ,   4
Run Code Online (Sandbox Code Playgroud)

有没有办法使用像cat,sed,awk或cut这样的Linux命令之一?

我知道有cut可以通过列cut -d,-f1,2,3 file1> file2修改文件.但似乎没有添加自定义列的选项.

任何帮助将非常感激.

linux bash awk sed

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

Dataframe.isin()给出此错误:DataFrame的真值不明确

您可以解决此错误吗:df.isin函数在做什么错?

cursor = con.cursor()
cursor.execute("""SELECT distinct date FROM raw_finmis_online_activation_temp""")
existing_dates = [x[0] for x in cursor.fetchall()]

if df[df['date'].isin(existing_dates)]:
    print "Yes it's in there"
else:
    print "N"
Run Code Online (Sandbox Code Playgroud)

这给了我这个错误:

ValueError:DataFrame的真值不明确。使用a.empty,a.bool(),a.item(),a.any()或a.all()。

python python-3.x pandas

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

气流-如何忽略回填中成功完成的任务?

我已经在DAG中添加了新任务,它需要回填它们。目前,当我运行airflow backfill它时,它将运行所有任务(新任务和旧任务),而我想忽略已经成功的旧任务。

有什么方法可以在回填中跳过具有成功状态的任务?

airflow apache-airflow

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

从 Snowflake 查询 delta Lake 以读取最新版本

我想使用该命令将 Databricks 上的 Delta 表中的数据加载到 Snowflake 上的表中MERGE INTO

目标是 Databricks 上的 Delta 表中的记录数量与 Snowflake 上的表中的记录数量看起来相同。

发生的问题是,由于 Delta Lake(S3 路径)有多个版本,Snowflake 会查询重复记录。

如何才能只读取最新版本的 Delta Lake?

MERGE INTO myTable as target USING (
    SELECT
    $1:DAY::TEXT AS DAY,
    $1:CHANNEL_CATEGORY::TEXT AS CHANNEL_CATEGORY,
    $1:SOURCE::TEXT AS SOURCE,
    $1:PLATFORM::TEXT AS PLATFROM,
    $1:LOB::TEXT AS LOB
    FROM @StageFilePathDeltaLake
    (FILE_FORMAT => 'sf_parquet_format')
  ) as src 
        ON target.CHANNEL_CATEGORY = src.CHANNEL_CATEGORY 
        AND target.SOURCE = src.SOURCE 
WHEN MATCHED THEN
UPDATE SET 
 DAY= src.DAY
,PLATFORM= src.PLATFORM
,LOB= src.LOB
WHEN NOT MATCHED THEN
INSERT …
Run Code Online (Sandbox Code Playgroud)

snowflake-cloud-data-platform delta-lake

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