【问题标题】:Issues while using Snowflake component In Talend在 Talend 中使用 Snowflake 组件时的问题
【发布时间】:2018-06-15 00:03:32
【问题描述】:

为了将数据从 Ms sql server 2008 传输到 Snowflake,我使用了 talend ,但每次我都收到错误

java.io.IOException: net.snowflake.client.loader.Loader$ConnectionError: State: CREATE_TEMP_TABLE, SQL compilation error: error line 1 at position 68
invalid identifier '"columnname"'
                at org.talend.components.snowflake.runtime.SnowflakeWriter.close(SnowflakeWriter.java:397)
                at org.talend.components.snowflake.runtime.SnowflakeWriter.close(SnowflakeWriter.java:52)
                at local_project.load_jobnotes_0_1.Load_Jobnotes.tMSSqlInput_1Process(Load_Jobnotes.java:2684)
                at local_project.load_jobnotes_0_1.Load_Jobnotes.runJobInTOS(Load_Jobnotes.java:3435)
                at local_project.load_jobnotes_0_1.Load_Jobnotes.main(Load_Jobnotes.java:2978)
Caused by: net.snowflake.client.loader.Loader$ConnectionError: State: CREATE_TEMP_TABLE, SQL compilation error: error line 1 at position 68
invalid identifier '"ID"'
                at net.snowflake.client.loader.ProcessQueue.run(ProcessQueue.java:349)
                at java.lang.Thread.run(Thread.java:748)
Caused by: net.snowflake.client.jdbc.SnowflakeSQLException: SQL compilation error: error line 1 at position 68

我的 Snowflake DB 中确实存在该列,但由于该列不存在,我仍然收到错误

在分析 Talend 在雪花中执行的查询时,我发现它尝试创建一个临时表来存储数据,但这样做会选择表中“”双引号之间的所有列,因此错误来自无效标识符“列名” '

如果我在没有双引号的情况下手动执行相同的查询,它的工作正常,请告诉我们这个问题的解决方法是什么

talend在雪花中执行的查询,供大家参考

CREATE TEMPORARY TABLE "Tablename_20171024_115736_814_1" 
AS SELECT "column1","column2","column3"
FROM "database"."schema"."table" WHERE FALSE

【问题讨论】:

  • 你能分享一下你到目前为止所做的截图吗?
  • 作为最后的手段,您可以使用 tJDBCRow 执行您自己的查询(通过添加雪花 jar,因为没有 tSnowflakeRow atm),这样您就可以完全控制您的列,并且您可以参考输入流中的列。

标签: talend snowflake-cloud-data-platform


【解决方案1】:

此问题很可能是由于 Snowflake 中的对象名称与通过连接器发送的内容之间的大小写不匹配造成的。在雪花端,所有对象名称都存储为大写。建议您尝试传递 COLUMN1、COLUMN2 等,看看是否有效。

您也可以尝试将QUOTED_IDENTIFIERS_IGNORE_CASE 设置为true,这可能会有所帮助。

【讨论】:

    【解决方案2】:

    我发现此问题是由于 Talend 未正确应用混合大小写的数据库或模式名称。我通过更新 Snowflake 连接器角色参数发现了一个 hack,并添加了如下截图:

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-10-20
      • 1970-01-01
      • 2023-03-06
      • 1970-01-01
      • 2022-10-25
      相关资源
      最近更新 更多