aws-glue-data-catalog相关内容

“无法从空字符串创建路径"使用 S3 路径在配置单元中出现“CREATE TABLE AS"错误

我正在尝试在 Glue 目录中创建一个表,其中包含来自使用 hive 在 EMR 中运行的 spark 的 s3 路径位置.我尝试了以下命令,但出现错误: pyspark.sql.utils.AnalysisException:u'java.lang.IllegalArgumentException:无法从空字符串;' sparksession.sql("CREATE TABLE IF ..

解析在 AWS Athena/AWS Glue 目录中的一列中具有换行符的 csv 文件

我有如下示例数据: id,log,code,sequence100,样品&样品?堆积 - 3 个样品,20,7^M$101,样品- 4/52$样品$CM,21,7^M$102,样品 AT 3PM,22,4^M$ 在第二行 (id=101) 中,日志列有换行符,一行中有 3 行.我在 vim 编辑器中启用了“:set list"选项来显示换行符 ($) 和换行符 (^M) 字符. ..

同步两个AWS Glue数据目录

我有一个用例,我想同步两个驻留在不同账户上的AWS Glue数据目录. 当创建/删除新的数据库/表/分区时,Glue是否发出可以发布的通知?还是通过其他方式知道其他Glue数据目录中正在发生的事情? 一种方法是侦听该Glue帐户的Cloudwatch通知,但根据Doc Cloudwatch通知,这是不可靠的: https://docs.aws.amazon.com/glue/la ..
发布时间:2021-04-13 18:35:30 其他开发

AWS Glue Spark作业无法支持带双引号的大写列名

问题陈述/根本原因:我们正在使用AWS Glue将数据从生产PostGress数据库加载到AWS DataLake中.胶水在内部使用Spark作业来移动数据.但是,我们的ETL过程失败了,因为Spark只支持小写的表列名,不幸的是,我们所有的源PostGress表列名都在CamelCase中并用双引号引起来. 例如:PostGress数据库中我们的源表列名称为"CreatedDate".Sp ..
发布时间:2021-04-13 18:34:30 其他开发

来自外部REST API的AWS Glue作业消耗数据

我正在尝试创建一个工作流,其中AWS Glue ETL作业将从外部REST API而非S3或任何其他AWS内部源中提取JSON数据.那有可能吗?有人吗请帮忙! 解决方案 是的,我确实从REST API(例如Twitter,FullStory,Elasticsearch等)中提取数据.通常,我确实使用Python Shell作业进行提取,因为它们是更快(冷启动相对较小).完成后,它会触发一个 ..
发布时间:2021-04-13 18:34:27 其他开发

如何在Glue作业中访问AWS Glue工作流的运行属性?

我一直在使用AWS Glue工作流程来编排批处理作业.我们需要通过下推式谓词,以限制批处理作业的处理.当我们单独运行Glue作业时,我们可以在运行时将下推谓词作为命令行参数传递(即aws胶水start-job-run --job-name foo.scala --arguments --arg1-text $ {arg1}..).但是,当我们使用胶水工作流程执行胶水作业时,还不清楚. 当我们 ..

使用AWS Glue Crawler指定SerDe序列化库

每次我对现有数据运行粘合搜寻器时,它会将Serde序列化库更改为 LazySimpleSerDe ,这无法正确分类(例如,对于带逗号的引用字段) org.apache.hadoop.hive.serde2.OpenCSVSerde . 我尝试制作自己的csv分类器,但这无济于事. 如何让搜寻器为生成或更新的表指定特定的序列化库? 解决方案 您目前无法在“胶履带"中指定Se ..

向数据库列添加注释并从AWS Glue检索

我正在尝试将AWS GLUE数据目录合并到我正在构建的Data Lake中.我正在使用一些不同的数据库,并想将COMMENTS添加到其中一些表的列中.这些数据库包括Redshift和MySql.通常,我会通过 的内容将评论添加到该列中 COMMENT ON COLUMN table.column_name IS 'This is the comment'; 现在我知道Glue有一个在GUI ..

动态框架解析选择规格,日期转换

我正在编写Glue代码,并使用动态框架Api解决选择规范,即specs.我正在尝试通过从目录创建动态框架时传递强制转换来强制转换源. 我已经通过解析选择规范成功实现了转换,但是在转换日期时我得到了空值,只是想了解如何在转换中使用源格式传递日期. self.df_TR01=self.df_TR01.resolveChoice(specs=[('col1', 'cast"string'), ('col ..
发布时间:2020-08-23 22:20:21 其他开发

AWS Glue自动作业创建

我有可以在AWS GLUE中运行的pyspark脚本.但是每次我从UI创建作业并将代码复制到作业中时,无论如何,我都可以从s3存储桶中的文件中自动创建作业. (我拥有将在运行时使用的所有库和粘合上下文) 解决方案 另一种替代方法是使用 AWS CloudFormation .您可以在模板文件中定义要创建的所有AWS资源(不仅是Glue作业),然后根据需要从使用cli . 胶水作业的模 ..