SQL查询转换 | AWS Glue作业

0

【以下的问题经过翻译处理】 我正在使用AWS Glue Job studio中的SQL Query Transform在我的表中新增一列。

转换的可视化图表

SQL别名 - study

当前表中字段 - study id, patient id, patient age

我想通过添加新列来转换现有Schema。

新列 - AccessionNo

转换后的模式 -study id, patient id, patient age, AccessionNo

SQL查询 - alter table study add columns (AccessionNo int)

错误提示 - pyspark.sql.utils.AnalysisException: Invalid command: 'study' is a view not a table.; line 2 pos 0; 'AlterTable V2SessionCatalog(spark_catalog), default.study, 'UnresolvedV2Relation [study], V2SessionCatalog(spark_catalog), default.study, [org.apache.spark.sql.connector.catalog.TableChange$AddColumn@1e7cbfec]

我尝试查看AWS官方文档中的SQL转换,它说查询应该是Spark SQL语法,并且我的查询也符合Spark SQL语法。 https://docs.aws.amazon.com/glue/latest/ug/transforms-sql.html

请问具体问题是什么,帮我解决一下,谢谢。

profile picture
EXPERTE
gefragt vor 5 Monaten47 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 这样的DDL旨在更改实际目录表,而不是像“study”这样的不可变视图。

您还需要向列添加一些内容(即使是稍后填充的NULL占位符)。

如果您可以使用其他列在此处设置所需的值,那就更好了。例如:

select *, 0 as AccessionNo from study
profile picture
EXPERTE
beantwortet vor 5 Monaten

Du bist nicht angemeldet. Anmelden um eine Antwort zu veröffentlichen.

Eine gute Antwort beantwortet die Frage klar, gibt konstruktives Feedback und fördert die berufliche Weiterentwicklung des Fragenstellers.

Richtlinien für die Beantwortung von Fragen