首页 文章
  • 5 votes
     answers
     views

    如何将数据从Glue移动到Dynamodb

    我们正在为我们的仪表板应用程序设计大数据解决方案,并认真考虑Glue用于我们的初始ETL . 目前Glue支持JDBC和S3作为目标,但我们的下游服务和组件将更好地与dynamodb一起使用 . 我们想知道什么是最终将记录从Glue转移到Dynamo的最佳方法 . 我们应该首先写入S3然后运行lambdas将数据插入Dynamo吗?这是最好的做法吗?或者我们是否应该为Dynamodb使用第三方JD...
  • 0 votes
     answers
     views

    定期安排AWS Glue爬虫的用途是什么 . 运行一次似乎就足够了

    我根据S3存储桶的内容创建了一个AWS glue表 . 这允许我使用AWS Athena查询此S3存储桶中的数据 . 我已经定义了一个AWS Glue爬虫并运行一次以自动确定数据的模式 . 一切都很好 . 之后,所有新上传的数据都会很好地反映在表中 . (在雅典娜做 select count(*) ... . 为什么我需要定期运行(即:安排)AWS Glue Crawler?毕竟,如上所述,对...
  • 4 votes
     answers
     views

    AWS Glue:如何使用不同的模式处理嵌套的JSON

    Objective: 我们希望使用AWS Glue数据目录为驻留在S3存储桶中的JSON数据创建单个表,然后我们将通过Redshift Spectrum进行查询和解析 . Background: JSON数据来自DynamoDB Streams,并且是深层嵌套的 . 第一级JSON具有一组一致的元素:Keys,NewImage,OldImage,SequenceNumber,Approximat...
  • 15 votes
     answers
     views

    表格的异常通过AWS Glue Crawler识别并存储在数据目录中

    我正在努力 Build 公司的新数据湖,并试图找到最好的和最近的选择在这里工作 . 所以,我找到了一个非常好的解决方案来使用EMR S3 Athena Glue . 我做的过程是: 1 - 运行Apache Spark脚本,以生成由Orc存储的S3中按日期分区的3000万行 . 2 - 运行Athena查询以创建外部表 . 3 - 检查与胶水数据目录相关的EMR表,它工作得很好 . Spa...
  • 1 votes
     answers
     views

    如何以编程方式读取AWS Glue Data Catalog表模式

    我有一组统一结构的每日CSV文件,我将上传到S3 . 有一个下游作业将CSV数据加载到Redshift数据库表中 . CSV中的列数可能会增加,从那时起,新文件将包含新列 . 发生这种情况时,我想检测更改并自动将列添加到目标Redshift表 . 我的计划是在源CSV文件上运行Glue Crawler . 架构中的任何更改都将在Glue Data Catalog中生成表的新版本 . 然后,我想以...
  • 1 votes
     answers
     views

    使用AWS Glue Job在redshift中导入数据时添加时间戳列

    我想知道在AWS Glue Job加载时是否可以在表中添加时间戳列 . 第一种情景: A列| B栏| TimeStamp A | 2 | 2018-06-03 23:59:00.0 当Crawler更新数据目录中的表并再次运行作业时,该表将使用新的时间戳在表中添加新数据 . A列| B栏| TimeStamp A | 4 | 2018-06-04 05:01:31.0 B | 8 | 201...
  • 0 votes
     answers
     views

    时间戳未从Glue加载到Redshift表中

    我在一个存储在S3中的csv文件中有 YYYY-MM-DD XX:XX:XX 格式的时间戳,但是当我使用时间戳数据类型使用Glue加载到Redshift数据库时,timestamp列为null . 看来格式是有效的,但我也尝试过 YYYYMMDD XXXXXX 和 YYMMDD XX:XX:XX 格式 . 我在Glue中的映射从时间戳到时间戳,表的列数据类型也是时间戳 . 以csv格式提供的数据:...
  • 2 votes
     answers
     views

    在胶水作业中创建胶水数据目录表

    我认为这是一个非常简单的要求 . 我想创建一个作业,它接受一个文件并将其转换为另一个文件,然后在胶水中更新数据目录元数据 . 这将允许另一个作业然后获取新数据源并使用glue / emr / athena消耗它 . 现在,我可以毫无问题地进行转换,但对于我的生活,除了使用爬虫或控制台或胶水API之外,我无法弄清楚如何在胶水中创建表格 - 我更喜欢在工作中这样做我可以调用下一个作业而不是执行爬虫并等...
  • 0 votes
     answers
     views

    AWS Glue:crawler将时间戳误解为字符串 . GLUE ETL意味着将字符串转换为时间戳使它们成为NULL

    按照教程here,我一直在玩 AWS Glue 进行一些快速分析 虽然我已经能够在Athena中成功创建爬虫并发现数据,但我遇到了爬虫创建的数据类型的问题 . date 和 timestamp 数据类型被读取为 string 数据类型 . 我通过使用爬虫作为输入创建的数据源和 Amazon S3 中的目标表在GLUE中创建 ETL 作业来实现此目的 . 作为映射转换的一部分,我将日期和时间戳的...
  • 0 votes
     answers
     views

    如何在胶水中处理模式更改并获得csv中的预期输出?

    我正在尝试使用AWS Glue抓取一些具有不同sachems(数据兼容)的文件 .正如我在AWS文档中读到的那样,Glue抓取工具会更新目录表以了解架构中的任何更改(添加新列并删除缺少的列) . 我在创建爬虫时检查了"Update the table definition in the Data Catalog"和"Create a single schema for...
  • 0 votes
     answers
     views

    AWS Glue将重复记录附加到数据目录

    我发现我的AWS胶水作业正在将重复数据附加到我的数据目录中 . 我有一个读取JSON的作业,使用Spark SQL对其进行重复删除,然后尝试将其保存到数据目录中 . 但我必须做错了,因为每次运行任务时数据目录都会变得更复杂 inputGDF = glueContext.create_dynamic_frame_from_options(connection_type = "s3&quot...
  • 4 votes
     answers
     views

    AWS Athena从表格中返回零记录从GLUE Crawler输入来自S3的csv

    Part One : 我尝试使用胶水爬虫在s3中加载的虚拟csv上运行它创建了一个表但是当我在athena中尝试查看表并查询它时它显示返回Zero Records . 但是,雅典娜的ELB演示数据运行良好 . Part Two (Scenario:) 假设我有一个excel文件和数据字典,说明数据存储在该文件中的方式和格式,我希望将这些数据转储到AWS Redshift中 . 最好的方法是什么?
  • 1 votes
     answers
     views

    (AWS)Athena:查询结果似乎太短

    我的Athena查询结果似乎太短了 . 试图找出原因? Build : 胶水目录(118.6千兆字节) . 数据:以CSV和JSON格式存储在S3中 . Athena Query:当我查询整个表的数据时,每个查询只获得40K结果,对于一个月的数据,该查询平均应该有121Million记录 . Athena Cap查询结果数据吗?这是服务限制(文档并未暗示是这种情况) .
  • 9 votes
     answers
     views

    使用AWS Glue和Apache Avro进行架构更改

    我是AWS Glue的新手,并且很难完全理解AWS文档,但我正在努力解决以下用例: 我们有一个带有许多Avro文件的s3存储桶 . 我们已经决定使用Avro,因为它可以在超时的情况下对数据模式更改提供广泛支持,从而允许将新字段应用于旧数据而不会出现任何问题 . 使用AWS Glue,我了解只要存在架构更改,爬虫就会创建一个新表 . 当我们的模式发生变化时,这会导致爬虫程序按照预期创建许多新表,但并...
  • 1 votes
     answers
     views

    AWS Glue Crawler覆盖数据与附加

    我正在尝试利用Athena在第三方供应商预先ETL的数据上运行SQL并推送到内部S3存储桶 . ETL供应商每天将CSV文件推送到存储桶 . 除了返回2016年的数据之外,每个文件还包括昨天的数据(即新数据每天到达,但历史数据也可能发生变化) . 我设置了一个AWS Glue Crawler来监控上传CSV文件的特定S3文件夹 . 因为每个文件都包含更新的历史数据,所以我希望找到一种方法,根据上传...
  • 0 votes
     answers
     views

    AWS Glue ETL作业如何检索数据?

    我是使用AWS Glue的新手,我不明白ETL工作如何收集数据 . 我使用爬虫从S3存储桶中的一些文件生成我的表模式,并检查ETL作业中的自动生成的脚本,这是(稍作修改): import sys from awsglue.transforms import * from awsglue.utils import getResolvedOptions from pyspark.context imp...
  • 0 votes
     answers
     views

    AWS Glue:如何使用不同的模式ETL非标量JSON

    Objective 我有一个充满json文件的S3文件夹,其中包含不同的模式,包括数组(一个dynamodb备份,因为它发生) . 但是,虽然模式各不相同,但所有文件都包含一些常用元素,例如“id”或“name”,以及不同长度的嵌套数组,例如“selected items” . 我希望能够在闲暇时解析这些元素 . 我有一个使用外部ETL工具(KNIME)的工作方法,我希望通过Glue以无服务器方式...
  • 1 votes
     answers
     views

    如何使用AWS Glue将许多CSV文件转换为Parquet

    我使用AWS S3,Glue和Athena进行以下设置: S3 - >胶水 - >雅典娜 我的原始数据作为CSV文件存储在S3上 . 我正在使用Glue for ETL,而我正在使用Athena来查询数据 . 由于我正在使用Athena,我想将CSV文件转换为Parquet . 我正在使用AWS Glue立即执行此操作 . 这是我正在使用的当前流程: 运行Crawler以读取CS...
  • 3 votes
     answers
     views

    由于S3超时,胶水作业失败

    我一直在通过AWS胶水教程(https://docs.aws.amazon.com/glue/latest/dg/getting-started.html)工作,现在我正在尝试配置我的第一份工作,旨在将所有数据从RDS表复制到S3上的镶木地板文件中 . 我成功了: 创建了S3 VPC endpoints 创建了胶水RDS连接和爬虫 成功将RDS表元数据添加到目录 . 为了创造我的工...
  • 0 votes
     answers
     views

    如何从AWS glue中的动态数据框中删除错误记录?

    我有一个包含错误记录的动态数据框 . 请在下面找到代码 . val rawDataFrame = glueContext.getCatalogSource(database = rawDBName, tableName = rawTBLName).getDynamicFrame(); println(s"RAW_DF-----count: ${rawDataFrame.count...
  • 15 votes
     answers
     views

    AWS Glue to Redshift:是否可以替换,更新或删除数据?

    以下是关于我如何设置的一些要点: 我将CSV文件上传到S3,并使用Glue爬虫设置来创建表和架构 . 我有一个Glue作业设置,它使用JDBC连接将数据从Glue表写入我们的Amazon Redshift数据库 . Job还负责映射列并创建redshift表 . 通过重新运行作业,我在redshift中获得了重复的行(正如预期的那样) . 但是,有没有办法在插入新数据之前替换或删除行...
  • 2 votes
     answers
     views

    如何配置aws粘合作业以使用胶水数据表定义中的列类型?

    考虑以下aws胶水作业代码: import sys from awsglue.transforms import * from awsglue.utils import getResolvedOptions from pyspark.context import SparkContext from awsglue.context import GlueContext from awsglue.jo...
  • 2 votes
     answers
     views

    如何使用本地机器上的python 2.7执行aws胶水脚本?

    我在 python 2.7 环境中安装了 aws cli 和 boto3 . 我想做各种操作,如获取模式信息,获取AWS Glue控制台中存在的所有表的数据库详细信息 . 我试过下面的脚本示例: import sys from awsglue.transforms import * from awsglue.utils import getResolvedOptions from pyspark...
  • 1 votes
     answers
     views

    在AWS Glue中解压缩zip文件

    我在S3存储桶中有一个压缩的gzip文件 . 这些文件将由客户端每天上传到S3存储桶 . 未压缩时的gzip将包含CSV格式的10个文件,但仅具有相同的模式 . 我需要解压缩gzip文件,并使用Glue-> Data crawler,需要在使用dev运行ETL脚本之前创建模式 . endpoints . 胶是否能够解压缩zip文件并创建数据目录 . 或者我们可以直接在python ETL...
  • 1 votes
     answers
     views

    AWS Glue pyspark UDF

    在AWS Glue中,我需要将浮点值(摄氏度到华氏度)转换为使用UDF . 以下是我的UDF: toFahrenheit = udf(lambda x: '-1' if x in not_found else x * 9 / 5 + 32, StringType()) 我在spark数据帧中使用如下UDF: weather_df.withColumn("new_tmax", ...
  • 0 votes
     answers
     views

    在AWS Glue中附加负载

    我需要对S3存储桶执行追加加载 . 每天都有新的.gz文件被转储到S3位置,并且粘合爬虫会读取数据并在数据目录中更新它 . Scala AWS Glue作业运行且仅过滤当天的数据 . 根据某些规则变换上述过滤数据,并创建分区动态数据帧(即年,月,日)级别 . 现在,我需要将此动态数据帧写入S3存储桶,该存储桶具有所有前一天的分区 . 实际上我只需要在S3存储桶中只写一个分区 . 目...
  • 2 votes
     answers
     views

    AWS Glue中的简单ETL工作称“文件已经存在”

    我们正在使用一些ETL评估AWS Glue的大数据项目 . 我们添加了一个爬虫程序,它正在从S3中正确地拾取CSV文件 . 最初,我们只想将该CSV转换为JSON,并将文件放在另一个S3位置(相同的存储桶,不同的路径) . 我们使用了AWS提供的脚本(这里没有自定义脚本) . 并且只映射了所有列 . 目标文件夹为空(刚刚创建了作业),但作业失败并显示"File already exist...
  • 4 votes
     answers
     views

    为什么AWS Glue上的Spark-XML因AbstractMethodError而失败?

    我有一个用Python编写的AWS Glue作业,它引入了spark-xml库(通过Dependent jars路径) . 我正在使用spark-xml_2.11-0.2.0.jar . 当我尝试将我的DataFrame输出到XML时,我收到一个错误 . 我正在使用的代码是: applymapping1.toDF().repartition(1).write.format("com.da...
  • 3 votes
     answers
     views

    AWS胶水作业在s3上的大输入csv数据失败

    对于小的s3输入文件(~10GB),胶水ETL作业可以正常工作,但对于较大的数据集(~200GB),作业失败 . 添加部分ETL代码 . # Converting Dynamic frame to dataframe df = dropnullfields3.toDF() # create new partition column partitioned_dataframe = df.withC...
  • 0 votes
     answers
     views

    AWS Glue从分区表读取并写入分区表

    我的用例很简单 . 我在s3中有20 TB原始csv未压缩数据,具有年份的分区文件夹结构(10个分区10年,每个分区有2 TB) . 我想将此数据转换为镶木地板格式(snappy压缩)并保留类似的分区/文件夹结构 . 我想要在Athena中使用TEN 10分区的一个Parquet表,我将用它来分区查询这些数据,以后可能会删除原始的csv数据 . 使用Glue,我似乎会创建10张不能使用的镶木 ta...

热门问题