构建到AWS Glue ETL库的Python接口以用作本地依赖项。

awsglue-local的Python项目详细描述


奥斯格勒

awsglue Python包包含AWS Glue库的Python部分。这个库扩展了PySpark,以支持AWS上的无服务器ETL。在

请注意,此包必须与AWS Glue服务一起使用,并且不能独立执行。许多类和方法使用Py4J库与Glue平台上可用的代码进行接口。这个存储库可以用作编写粘合脚本的参考和帮助。在

虽然使用这个库的脚本只能在AWS Glue服务上运行,但是可以在本地导入这个库。例如,这可能有助于在IDE中提供自动完成。要成功导入库,您需要安装PySpark,这可以使用pip完成:

  pip install pyspark

内容

这个包包含到AWS Glue中使用的关键数据结构和方法的Python接口。以下是一些重要的模块。更多信息可以在公共文档中找到。在

GlueContext

文件context.py包含GlueContext类。GlueContext扩展了PySpark的SQLContext类,以提供特定于Glue的操作。大多数Glue程序将从实例化GlueContext开始,并使用它来构造一个DynamicFrame。在

动态帧

dynamicframe.py中定义的DynamicFrame是胶水脚本中使用的核心数据结构。dynamicframe与sparksql的DataFrames相似,因为它们表示分布式的数据记录集合,但是dynamicframe提供了更灵活的处理模式不一致的数据集。通过以自描述的方式表示记录,可以使用这些记录,而无需预先指定模式或需要昂贵的模式推理步骤。在

dynamicframe支持许多操作,但也可以使用toDF方法将它们转换为数据帧,以利用现有的Spark SQL操作。在

变换

transforms目录包含可以在dynamicframe上执行的各种操作。这些操作包括简单的操作,如DropFields,以及更复杂的转换,如Relationalize,它将嵌套的数据集展平到可以加载到关系数据库的表集合中。导入后,可以使用以下语法调用转换:

^{pr2}$

额外资源

  • aws-glue-samples存储库包含使用awsglue库的示例脚本,可以直接提交给AWS Glue服务。在

  • public Glue Documentation包含有关AWS Glue服务的信息以及关于Python库的附加信息。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java无法获得正确的温度转换输出   java如何使用vlcj版本4.7.0制作用于音频流的HeadlesMediaPlayer?   java密钥斗篷无法获取访问令牌   java Uribacon的BeaconLayout是什么?   mysql的java Spring数据xml配置   java从使用布局的页面适配器中删除特定位置页面。刷卡   java使用安卓从web目录读取文件   java使用Sikuli导出应用程序   swing JAVA如何更新已绘制的字符串?   java Worker任务在WildFly中多次生成   爪哇12小时制(上午/下午)   java生成Google地图发布密钥   java如何在IntelliJ中将maven模块的groupId添加到名称/表示中   java Selenium WebDriver标识输入标记内的Td value元素   java如何将JAXWS中的Date@webgram映射到xsd:Date而不是xsd:datetime?   java Remove arraylist字符串停止随机函数   java使用googlehttpclientxml解析xml:使用XmlObjectParser解析xml元素内容和属性   java如何在array response 2中获取特定的响应数据   java我无法为安卓导入或使用AdView