栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

Setup local enviroment for running aws glue script

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Setup local enviroment for running aws glue script

一、Install Docker Desktop

从docker官网下载软件并做安装​​​​​​Install Docker Desktop on Windows | Docker Documentation

安装完成之后执行如下命令确认docker版本信息

C:Users27178>docker --version
Docker version 20.10.14, build a224086

C:Users27178>
二、拉起AWS-Glue-Libs 镜像

从docker官网下载​​​​​​https://hub.docker.com/r/amazon/aws-glue-libs/tags?page=1&ordering=last_updated

三、运行容器
docker run -itd -p 8888:8888 -p 4040:4040 --name glue_jupyter amazon/aws-glue-libs:glue_libs_3.0.0_image_01 /home/jupyter/jupyter_start.sh



docker run -itd -p 8888:8888 -p 4040:4040 -v $Home/.aws:/root/.aws:rw --name glue_jupyter amazon/aws-glue-libs:glue_libs_3.0.0_image_01 /home/jupyter/jupyter_start.sh

四、运行Glue script

1.使用http://127.0.0.1:8888/ 打开 笔记本

2.其中persons文件内容如下

Id,Name,Sallary,DepartmentId
1,Joe,70000,1
2,Herry,8000,""

3.运行脚本

 其中执行的脚本信息如下

from pyspark import SparkContext
from awsglue.context import GlueContext

sc=SparkContext.getOrCreate()
glueContext=GlueContext(sc)
spark=glueContext.spark_session

# inputDF=spark.read.option("header","true").csv("jupyter_workspace/test/persons.csv")
inputDF=spark.read.csv("jupyter_workspace/test/persons.csv",header=True)

inputDF.printSchema()
inputDF.show()

inputDF.select("Id","Name").show()   #根据列进行筛选输出
inputDF.printSchema() 
五、连接到AWS

1. 创建IAM用户

2. 打开终端配置AWS CLI的证书信息

 

 3.验证是否有权限

 4.调试的整个源码

from pyspark import SparkContext
from awsglue.context import GlueContext

sc=SparkContext.getOrCreate()
glueContext=GlueContext(sc)
spark=glueContext.spark_session

# inputDF=spark.read.option("header","true").csv("jupyter_workspace/test/persons.csv")
inputDF=spark.read.csv("jupyter_workspace/test/persons.csv",header=True)

inputDF.printSchema()
inputDF.show()

inputDF.select("Id","Name").show()
inputDF.printSchema()

from awsglue.dynamicframe import DynamicFrame
persons_data=DynamicFrame.fromDF(inputDF,glueContext,'EmployeeData')

persons_data.printSchema()

glueContext.write_dynamic_frame_from_options(
frame=persons_data,
connection_type='s3',
connection_options={
    'path': 's3://testbigdata'
},
format='json')

下载确认文件是否被成功写入到S3中去

参考链接地址

https://www.youtube.com/watch?v=2-zOXnSDdZ0

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/827211.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号