当前位置: 首页 > 知识库问答 >
问题:

将pyspark Dataframe写入具有相同列数和一个附加自动增量列的雪花表

沈宏朗
2023-03-14

我有一个pyspark dataframe有5列,我需要写到雪花表有6列,5列与dataframe列相同,但雪花表中有一个额外的自动增量列。

当我试图将此数据frame写入雪花表,但它给出了一个错误;由于dataframe和Snowflake表中的列数不同,导致列不匹配。我已经尝试了mode='append',但这不起作用。

df.write.format(snowflake_source_name) \
            .options(**sfoptions) \
            .option("dbtable", table_name) \
            .mode("append").save()

我希望dataframe中的这5列应该被插入到雪花表中,并且第6个自动递增雪花列应该为插入的每一行自动递增。

共有1个答案

陈夜洛
2023-03-14

自动递增列将像序列一样自动递增。不需要给出数据帧,否则会有列不匹配。在SnowFlake中定义表时,必须在SnowFlake DB中指定序列,这将非常小心。Rest所有的代码看起来都很好。

 类似资料:
  • 我试图使用以下代码将数据加载到雪花,但得到一个错误。 tmp是从Snowflake下载的,该表使用RStudio:

  • 我正在尝试使用jdbc将数据插入另一个表中的一个表,该表的snowflake中有自动递增列。我跳过了auto increment列,并从下面的查询中只插入了必需的列 它以正确的自动递增顺序正确插入数据,但如果我插入另一个值,自动递增值的值会随机递增 它反映了这个问题, 本期共有260张唱片。这是自动递增键的问题,请帮助。谢谢 另外,如果col1不是主键,并且在snowflake控制台上执行查询,也

  • 问题内容: 我需要创建一个基本上只保留索引列表的表。因此,我创建了一个表,其中只有一个自动递增的列,称为“ id”。但是,我似乎无法向该表隐式添加自动递增的值。 我知道通常在表中有这样一列(不仅有此列)时,您可以执行以下操作: 插入表(col1,col2 …)值(val1,val2 …) 而且,如果您不指定自动递增的列,它将自动获取一个值。但是,类似: 插入表()值()插入表插入表() 等等。所有

  • 问题内容: 我正在寻找这样的查询: id | int | 自动增量 varchar | 255 这样桌子就看起来像 1 | val1 2 | val2 3 | val3 … 除了id总是以每一行都结束而已。 我怎样才能做到这一点? 问题答案:

  • 问题内容: 我有多个结构相同的数据库,有时会在其中复制数据。为了保持数据完整性,我使用两列作为主键。一个是数据库ID,它链接到包含有关每个数据库的信息的表。另一个是表键。它不是唯一的,因为它可能有多个行,且此值相同,但database_id列中的值不同。 我打算将这两列变成一个联合主键。但是,我也想将表键设置为自动递增-但基于database_id列。 EG,使用以下数据: 如果我要添加包含dab

  • 问题内容: 使用Postgres,我试图用SQL自动编号主键。但是,这给了我一个错误。 错误: 知道为什么吗? 问题答案: Postgres 10或更高版本 列(请参见下文)保持不变。但是考虑一个 专栏。Postgres10实现了此标准SQL功能。 手册中的基本语法和信息。 __用列 创建 表 将 列 添加 到现有表 表可能填充也可能不填充行。 同时使它成为PK(表还不能拥有PK): 有关的: 如