Glue dynamic data frame相关的的语法错误?

0

【以下的问题经过翻译处理】 我尝试使用 Glue ETL 将嵌套的 JSON 数据转换为 Parquet 格式。这个方法是有效的,但由于进行了采样,它无法确定某些字段的数据类型并使用 struct 表示所有可能的值,从而改变了架构。

我尝试使用 ResolveChoice 来强制使用一种类型而不是 struct,但我一直遇到语法错误。我按照文档操作,但仍然无法搞清楚。这是我的代码,有人能帮帮忙吗?什么是正确的语法?它是否支持嵌套数据?

resolvechoice2 = ResolveChoice.apply(frame = applymapping1, specs = [("in_reply_to_user_id", "project:long"),("user.id", "project:long"),("quoted_status.user.id", "project:long"),("entities.user_mentions.element.id", "project:long"),("entities.media.element.source_user_id", "project:long"),("retweeted_status.user.id", "project:long"),("extended_entities.media.element.source_user_id", "project:long")]), transformation_ctx = "resolvechoice2")

语法错误:Syntax Error: File "/tmp/g-7d4adc26f6e5bb15ba8d86e7b4fced4ba08ca29d-6847579850030189659/script_2019-04-30-06-11-30.py", line 30 resolvechoice2 = ResolveChoice.apply(frame = applymapping1, specs = [("in_reply_to_user_id", "project:long"),("user.id", "project:long"),("quoted_status.user.id", "project:long"),("entities.user_mentions.element.id", "project:long"),("entities.media.element.source_user_id", "project:long"),("retweeted_status.user.id", "project:long"),("extended_entities.media.element.source_user_id", "project:long")]), transformation_ctx = "resolvechoice2") SyntaxError: invalid syntax

profile picture
EXPERTE
gefragt vor 5 Monaten39 Aufrufe
1 Antwort
0

【以下的回答经过翻译处理】 ``` dynamicframe0_with_cast = datasource0.resolveChoice( specs = [("in_reply_to_user_id", "cast:long"), ("user.id", "cast:long"), ("quoted_status.user.id", "cast:long"), ("entities.user_mentions[].id", "cast:long"), ("entities.media[].source_user_id", "cast:long"), ("retweeted_status.user.id", "cast:long"), ("extended_entities.media[].source_user_id", "cast:long")])

在转换嵌入式集合时,必须使用“ []”来指定数组类型,不要使用在printSchema输出中看到的“.element”。

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