AWS 胶水:忽略 JSON 属性中的空格
AWS glue: ignoring spaces in JSON properties
我有一个包含 JSON 个文件的数据集。这些 JSON 的某些条目在
等条目中有 space
{
'propertyOne': 'something',
'property Two': 'something'
}
我已经让几个不同的爬虫爬取了这个数据集,以尝试获取我想要的模式。由于某种原因,在我的一次爬网中,spaces 被删除了,但是在尝试复制该过程时,我无法删除 spaces,并且在 Athena 中查询时出现此错误
HIVE_METASTORE_ERROR: : expected at position x in 'some string' but ' ' found instead.
位置 x 是 JSON 条目中 'property' 和 'Two' 之间的 space 的位置。
我希望能够在抓取时排除此字段或删除 space,但我不确定如何操作。我无法更改 JSON 格式。感谢任何帮助
我相信在这种情况下,您唯一的选择是创建您自己的 custom JSON classifier 到 select 您希望爬网程序添加到数据目录的属性。
即如果你只想检索 propertyOne 你可以使用指定 JSONPath 表达式为 $.propertyOne
.
另请注意,您的 JSON 应该用双引号引起来,单引号也可能在解析数据时引起问题。
这实际上是 aws gule json 分类器的一个错误,因为它不能很好地处理其中包含 space 的嵌套属性。语法错误在爬虫生成的模式中,而不是在 json 中。它生成如下内容:
struct<propertyOne:string, property Two:string>
"property two"中的space应该被爬虫转义了。此时,为 table 生成 DDL 也不起作用。我们也面临这个问题,正在寻找解决方法
我有一个包含 JSON 个文件的数据集。这些 JSON 的某些条目在
等条目中有 space{
'propertyOne': 'something',
'property Two': 'something'
}
我已经让几个不同的爬虫爬取了这个数据集,以尝试获取我想要的模式。由于某种原因,在我的一次爬网中,spaces 被删除了,但是在尝试复制该过程时,我无法删除 spaces,并且在 Athena 中查询时出现此错误
HIVE_METASTORE_ERROR: : expected at position x in 'some string' but ' ' found instead.
位置 x 是 JSON 条目中 'property' 和 'Two' 之间的 space 的位置。
我希望能够在抓取时排除此字段或删除 space,但我不确定如何操作。我无法更改 JSON 格式。感谢任何帮助
我相信在这种情况下,您唯一的选择是创建您自己的 custom JSON classifier 到 select 您希望爬网程序添加到数据目录的属性。
即如果你只想检索 propertyOne 你可以使用指定 JSONPath 表达式为 $.propertyOne
.
另请注意,您的 JSON 应该用双引号引起来,单引号也可能在解析数据时引起问题。
这实际上是 aws gule json 分类器的一个错误,因为它不能很好地处理其中包含 space 的嵌套属性。语法错误在爬虫生成的模式中,而不是在 json 中。它生成如下内容:
struct<propertyOne:string, property Two:string>
"property two"中的space应该被爬虫转义了。此时,为 table 生成 DDL 也不起作用。我们也面临这个问题,正在寻找解决方法