构建到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 log4j找不到log4jtest。房产?   我在java线程“awteventque1”中获得异常。lang.NullPointerException   java为什么在使用完整路径从文件系统读取文件时出错?   java如何迭代所有注册表项?   java中的安卓 Opencv SVM未正确训练   多线程Java ThreadPoolExecutor关闭特定线程?   如何使用Java NIO CreateDirectory方法设置目录所有者组?   java NatTable混合了固定宽度的列和可调整大小的填充剩余空间   java如何删除特定网络,即使该网络是由安卓上的其他设备创建的?   java Guava toJavaUtil()不存在   java对许多常量使用枚举是有效的memorywise?   java是否可以使用坐标定位JButton?   从WSDL生成java代码导致异常   java如何在安卓中导出javadoc   爬行JAX中的java NoClassDefFoundError错误   java为片段中的文本视图设置区域设置   发送最后一条消息后发生Java RMI RemoteException