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

AWS粘合作业在嵌套s3文件夹中使用分区拼花文件时失败

南门建章
2023-03-14

在分区的拼花文件上运行粘合作业时,我遇到以下错误,无法推断拼花的模式。必须手动指定

我已经设置了我的爬虫并成功获取了拼花文件的模式。我可以在Athena中查看数据。我已经在我的目标Redshift上手动创建了模式。

如果我的所有数据都只在一个文件夹中,我可以通过GLUE将文件加载到Redshift中。但是当我指向具有嵌套文件夹的文件夹时,例如文件夹X-有04和05-GLUE作业失败并显示消息无法推断镶木地板的架构。它必须手动指定

如果我将所有这些文件放入同一个文件夹,这很奇怪吗?

共有2个答案

羊城
2023-03-14

如果直接指向分区文件夹,则分区文件夹将不再是表模式中的列。指向顶部文件夹时最好使用谓词下推-https://aws.amazon.com/blogs/big-data/work-with-partitioned-data-in-aws-glue/。

郎曾笑
2023-03-14

我在这里找到了一个解决方案-这适用于我的Firehose JSON-

这是ETL胶水工作的scala版本

 类似资料:
  • 我有AWS胶水ETL作业,每15分钟运行一次,每次在S3中生成一个拼花文件。 我需要创建另一个作业来运行每小时结束,以使用AWS Glue ETL pyspark代码将S3中的所有4个拼花文件合并为1个拼花文件。 有人试过吗?建议和最佳做法? 提前感谢!

  • 我们有一个以红移方式处理数据的用例。但我想在S3中创建这些表的备份,以便使用Spectrum查询这些表。 为了将表从Redshift移动到S3,我使用了一个胶水ETL。我已经为AWS红移创建了一个爬虫程序。胶水作业将数据转换为拼花地板,并将其存储在S3中,按日期进行分区。然后,另一个爬虫会对S3文件进行爬行,以再次对数据进行编目。 如何消除第二个爬虫并在作业本身中执行此操作?

  • 我有一个拼花格式的大数据集(大小约1TB),分为2个层次:

  • 我正在尝试使用Kafka-connect来消耗Kafka的消息并将它们写入s3拼花文件。所以我写了一个简单的生产者,它用byte[]生成消息 我的Kafka连接配置是: 这是我得到的错误: 原因:java。lang.IllegalArgumentException:Avro架构必须是记录。在org。阿帕奇。拼花地板阿夫罗。AvroSchemaConverter。转换(AvroSchemaConve

  • 如何读取带有条件作为数据帧的分区镶木地板, 这工作得很好, 分区存在的时间为< code>day=1到day=30是否可能读取类似于< code>(day = 5到6)或< code>day=5,day=6的内容, 如果我输入< code>*,它会给出所有30天的数据,而且太大了。

  • 我正在读取一个文件夹在adls在azure数据库,其中包含镶木地板文件的子文件夹。 path-base\u文件夹/文件名/ filename有一些子文件夹,如2020、2021,这些文件夹也有月份和日期的子文件夹。 所以实际拼花文件的路径类似于-base\u folder/filename/2020/12/01/part11111。拼花地板 我也尝试了下面的胎面命令,但它显示了同样的错误。无法推断