爬网程序可以在单次运行中爬取多个数据存储。完成后,爬网程序会在________________中创建或更新一个或多个表。
解析:
数据目录 or AWS Glue Data Catalog
_________________是用于在AWS Glue 中执行提取、转换和加载 (ETL) 工作的业务逻辑。AWS Glue 将运行一个从源中提取数据、转换数据并将其加载到目标中的脚本。
解析:
作业 or job
配置_________________可帮助 AWS Glue 维护状态信息,并可防止重新处理旧数据。
解析:
作业书签 or Job bookmark
EMR
对于带有header的csv文件food_establishment_data.csv(包含 2006 年至 2020 年华盛顿州金县卫生部门的检查结果),将 CSV 文件上传到S3 存储桶:demo-emr。以下是数据集中的示例行。
name, inspection_result, inspection_closed_business, violation_type, violation_points
100 LB CLAM, Unsatisfactory, FALSE, BLUE, 5
100 PERCENT NUTRICION, Unsatisfactory, FALSE, BLUE, 5
7-ELEVEN #2361-39423A, Complete, FALSE, , 0
编辑pyspark 脚本,读取food_establishment_data.csv文件,查询红色违规最多的前10家餐厅,并保存到S3中。
初始化SparkSession为spark,读取带表头的CSV文件,创建Dataframe: restaurants_df
解析:
restaurants_df = spark.read.option("header", "true").csv("s3:// demo-emr /food-establishment-data.csv")
or
restaurants_df = spark.read.csv("s3:// demo-emr /food-establishment-data.csv", header=True)
or
restaurants_df = spark.read.format('csv').option("header",True).load("s3:// demo-emr /food-establishment-data.csv")
or
restaurants_df = spark.read.format('csv').load("s3:// demo-emr /food-establishment-data.csv", header=True)
使用Dataframe restaurants_df创建一个临时视图restaurant_violations进行查询
解析:
restaurants_df.createOrReplaceTempView("restaurant_violations")
使用spark sql 查询临时视图restaurant_violations,创建红色违规即violation_type = 'RED'最多的前 10 家餐厅Dataframe : top_red_violation_restaurants,
解析:
top_red_violation_restaurants = spark.sql("""SELECT name, count(*) AS total_red_violations
FROM restaurant_violations
WHERe violation_type = 'RED'
GROUP BY name
ORDER BY total_red_violations DESC LIMIT 10""")
将top_red_violation_restaurants结果写入s3:// demo-emr/output中,带表头保存为csv
解析:
top_red_violation_restaurants.write.option("header", "true").mode("overwrite").csv("s3:// demo-emr/output")
代码编辑完成后存到s3:// demo-emr/script/health_violations.py,启动 Amazon EMR 集群,向正在运行的集群提交health_violations.py步骤。对于 Step type (步骤类型),选择 ___________________________ , 配置完其他选项后,选择 Add (添加) 以提交步骤。该步骤应出现在控制台中,状态为 Pending (待处理)。
检查步骤状态从 Pending (待处理) 变为Running (正在运行) 再变为Completed (已完成)。要更新控制台中的状态,请选择 Filter (筛选条件) 右侧的刷新图标。运行该脚本大约需要一分钟时间。
当状态更改为 Completed (已完成) 时,您将知道该步骤已成功完成。
解析:
Spark application (Spark 应用程序)



