当前位置: 首页 > news >正文

江门企业做网站四大营销策略

江门企业做网站,四大营销策略,wordpress 手机端模板,怎么创作自己的网站2 数据清洗、转换 此实验使用S3作为数据源 ETL: E extract 输入 T transform 转换 L load 输出 大纲 2 数据清洗、转换2.1 架构图2.2 数据清洗2.3 编辑脚本2.3.1 连接数据源(s3)2.3.2. 数据结构转换2.3.2 数据结构拆分…

2 数据清洗、转换

此实验使用S3作为数据源

ETL:

E    extract         输入
T    transform     转换
L    load             输出

大纲

  • 2 数据清洗、转换
    • 2.1 架构图
    • 2.2 数据清洗
    • 2.3 编辑脚本
      • 2.3.1 连接数据源(s3)
      • 2.3.2. 数据结构转换
      • 2.3.2 数据结构拆分、定义
      • 2.3.3 清洗后的数据写入新s3
      • 2.3.4 运行作业
    • 2.4 数据分区
      • 2.4.1 编辑脚本
      • 2.4.2 运行脚本
    • 2.5 总结

2.1 架构图

在这里插入图片描述

2.2 数据清洗

此步会将S3中的原始数据清洗成我们想要的自定义结构的数据。之后,我们可通过APIGateway+Lambda+Athena来实现一个无服务器的数据分析服务。

步骤图例
1、入口在这里插入图片描述
2、创建Job(s3作为数据源,则Type选择Spark,若为Kinesis等,选择Stream Spark)在这里插入图片描述
3、IAM角色需要有s3与Glue的权限在这里插入图片描述
4、选择s3脚本位置,若已经完成脚本的编写工作,则可以选择第二项或第三项,若无则Glue会提供默认脚本在这里插入图片描述
5、安全配置参数在这里插入图片描述建议:添加参数–enable-auto-scaling为true。每次在我们执行Job任务时,会根据运行 ETL 任务的数据处理单元(DPU)的个数来分配动态IP,在我们子网的动态IP数低于DPU数时,Job将会执行失败。此参数将会动态分配IP。
6、数据源()在这里插入图片描述
7、数据目标(我们会将清洗后的数据存储到新的s3桶)在这里插入图片描述
8、设计架构(在本案例中,我们会自定义脚本。所以不再在此处设计架构)(此处设计后,脚本会自动生成相关代码)在这里插入图片描述
9、保存在这里插入图片描述

2.3 编辑脚本

脚本中的args参数的键值需要从Job的安全配置参数中定义

2.3.1 连接数据源(s3)

#数据源
datasource = glueContext.create_dynamic_frame.from_catalog(database = args['db_name'], table_name = tableName, transformation_ctx = "datasource")

2.3.2. 数据结构转换

mapped_readings = ApplyMapping.apply(frame = datasource, mappings = [("lclid", "string", "meter_id", "string"), \("datetime", "string", "reading_time", "string"), \("KWH/hh (per half hour)", "double", "reading_value", "double")], \transformation_ctx = "mapped_readings")

2.3.2 数据结构拆分、定义

mapped_readings_df = DynamicFrame.toDF(mapped_readings)mapped_readings_df = mapped_readings_df.withColumn("obis_code", lit(""))
mapped_readings_df = mapped_readings_df.withColumn("reading_type", lit("INT"))reading_time = to_timestamp(col("reading_time"), "yyyy-MM-dd HH:mm:ss")
mapped_readings_df = mapped_readings_df \.withColumn("week_of_year", weekofyear(reading_time)) \.withColumn("date_str", regexp_replace(col("reading_time").substr(1,10), "-", "")) \.withColumn("day_of_month", dayofmonth(reading_time)) \.withColumn("month", month(reading_time)) \.withColumn("year", year(reading_time)) \.withColumn("hour", hour(reading_time)) \.withColumn("minute", minute(reading_time)) \.withColumn("reading_date_time", reading_time) \.drop("reading_time")

2.3.3 清洗后的数据写入新s3

# write data to S3
filteredMeterReads = DynamicFrame.fromDF(mapped_readings_df, glueContext, "filteredMeterReads")s3_clean_path = "s3://" + args['clean_data_bucket']glueContext.write_dynamic_frame.from_options(frame = filteredMeterReads,connection_type = "s3",connection_options = {"path": s3_clean_path},format = "parquet",transformation_ctx = "s3CleanDatasink")

2.3.4 运行作业

    执行成功后,状态将变为"SUCCESS",失败将会给出失败信息,可在CloudWatch 中查看详情

在这里插入图片描述

在这里插入图片描述


清洗后的数据保存到了s3


在这里插入图片描述
数据清洗完毕后,可通过上一篇中的爬网程序步骤,将清洗后的数据的结构创建表到数据目录中,
此时我们可以使用Athena对清洗后的数据进行分析。

2.4 数据分区

接下来我们对数据进行分区处理(此处只提供了按天分区
重新进行数据清洗中的创建Job操作后,重写脚本

2.4.1 编辑脚本

连接数据源。表为上一步最后重新爬取生成的新表。

cleanedMeterDataSource = glueContext.create_dynamic_frame.from_catalog(database = args['db_name'], table_name = tableName, transformation_ctx = "cleanedMeterDataSource")

根据type与data_str分区

business_zone_bucket_path_daily = "s3://{}/daily".format(args['business_zone_bucket'])businessZone = glueContext.write_dynamic_frame.from_options(frame = cleanedMeterDataSource, \connection_type = "s3", \connection_options = {"path": business_zone_bucket_path_daily, "partitionKeys": ["reading_type", "date_str"]},\format = "parquet", \transformation_ctx = "businessZone")

2.4.2 运行脚本

分区后的数据结果:
在这里插入图片描述
再次创建、运行爬网程序,将会在数据目录中生成新的分区表。

2.5 总结

到这一步,我们已经使用Glue ETL对s3桶中的数据进行了清洗、分区操作。在进行上篇中的Athena操作后,我们已经可以通过Athena直接查询到清洗、分区后的数据集了。
接下来,我们会通过使用APIGateway+Lambda+Athena来构建一个无服务器的数据查询分析服务。

http://www.ds6.com.cn/news/27120.html

相关文章:

  • 做区块链在哪个网站武汉seo哪家好
  • 用v9做的网站上传服务器培训网站有哪些
  • 网站备案是指什么新产品推广策划方案
  • 速升网网站是多少钱seo网站推广收费
  • 做mad的素材网站网站百度权重
  • 营销型企业网站怎么制作百度关键词推广费用
  • 网站怎样做https百度账号登录
  • 给别人做网站做什么科目北京谷歌优化
  • 网站内做二级目录域名解析查询
  • 无锡工厂网站建设郑州seo外包收费标准
  • 装修公司做网站推广能接到活吗东莞做网站最好的是哪家
  • 芜湖做网站建设公司如何开通自己的网站
  • https网站开发百度站长seo
  • 新网站应该怎么做可以排名靠前福州seo推广服务
  • 彩票系统开发搭建彩票网站服务器安全怎么做seo搜索引擎优化名词解释
  • 网站色彩搭配方案深圳网络推广外包
  • 阿里云上做网站靠谱吗品牌营销策略分析
  • 药品网站订单源码国家卫健委每日疫情报告
  • 男生跟男生做口视频网站广州市运营推广公司
  • 中国石油网站建设在线第三次作业手机建站教程
  • 仙桃做网站互联网营销师培训费用是多少
  • 建设企业网站收款人为其他行打不开网站搭建公司
  • 在线ps图什么是搜索引擎优化
  • 企业外包是什么意思冯宗耀seo教程
  • 株洲在线论坛二手市场seo竞价
  • 微信小程序云开发文档深圳网络优化seo
  • 海南海口网站建设网络营销公司哪家可靠
  • 东营做网站seo的阿里数据
  • 微信公众网站怎么做的黑龙江暴雪预警
  • 做网站上传视频app代理推广平台