云计算-交互式数据处理 (Interactive Data Processing)

AWS Glue DataBrew (AWS Glue DataBrew)

        数据预处理是任何数据分析任务之前的重要步骤。AWS Glue DataBrew 是一个可视化工具,允许我们预处理数据,包括清洗和规范化数据。此AWS服务提供许多数据准备功能,包括分组、联接、过滤、重新采样、排序、处理缺失和重复实例、应用聚合等。该服务的交互性质使得没有太多技术知识的用户也能轻松使用。数据预处理管道是基于一系列步骤构建的,称为“配方”(recipe)。配方不过是我们想要应用于数据的技术的顺序步骤。总体上,我们需要遵循以下步骤:

  1. 导入数据集。我们可以将自己的数据集上传到S3存储桶,然后将其添加为Glue DataBrew中的数据集,或者我们可以使用AWS存储库中的示例数据集。
  2. 创建项目。步骤1和步骤2是可互换的,我们可以先创建项目然后导入数据集。
  3. 创建配方。一旦创建项目,我们就可以对数据应用多种技术。
  4. 发布和导入配方。配方通常处于“工作版本”状态,直到发布。一旦发布,我们可以导入配方,或者在未来的项目中使用配方。

        让我们看一个这个管道的示例。

创建项目 (Creating a project)

        我们首先为准备特定数据集创建一个新项目。不幸的是,我们在一个项目中只能使用一个数据集(而不是多个)。从Glue DataBrew主页,我们点击“创建项目”按钮。我们可以在主页上找到这个按钮,也可以在左侧的“项目”标签中找到。

        这将带我们进入“创建项目”页面,我们需要提供项目的详细信息。项目的关键要素是:名称、配方、数据集、样本数量和权限。我们按照“项目名称”部分的指示给项目命名。在此示例中,项目名称为“data-processing-1”。然后我们为项目添加配方。我们可以“创建新配方”,也可以使用现有配方(即发布的配方)。配方是清理数据的一系列步骤的组合。由于我们要进行数据清理,我们将“创建”一个新配方,而不是使用现有的。默认情况下,配方的名称格式为“项目名称-配方”。

        现在,我们需要为项目添加数据集,它可以是AWS存储库中的示例数据集,也可以是我们上传到S3存储桶的自己的数据集。在此示例中,我们将使用“联合国大会投票 - 国家”示例数据集。我们可以给数据集命名。我们可以选择在项目中使用数据的样本数量。我们有一些数值选项以及自定义大小。在此示例中,我们将处理前500个样本。

        接下来,我们需要为项目提供权限,以便它可以连接到指定的数据集。为此,我们需要为项目添加一个角色。由于我们的IAM访问非常有限,我们没有太多选择,只能使用默认角色。在此示例中,我们使用“LabRole”。之后,我们可以点击“创建项目”按钮开始创建项目。

        项目将开始配置,如下所示。一旦项目创建完成,我们可以从左侧的“数据集”标签中导航,查看数据集存储的位置。在此示例中,数据集位于AWS S3存储桶中。

创建自定义数据集 (Creating Custom Dataset)

        如前所述,我们可以先将数据集上传到S3存储桶,然后使用它创建项目。假设我们在S3存储桶中有一个“employee.json”文件。我们将使用这个文件创建一个数据集。我们点击左侧的“数据集”标签,然后点击“连接新数据集”按钮。

        我们需要给数据集命名并指定数据文件的位置。一旦选择“Amazon S3”,所有现有的存储桶(在此示例中列出一个存储桶)将出现在“S3存储桶”列表中。一旦选择存储桶,它的所有对象(即文件)将被列出,我们可以选择“employee.json”。在“其他配置”部分,我们为“选择的文件类型”选择“JSON”选项。然后我们为“JSON文件类型”选择“JSON文档”选项。最后,我们点击“创建数据集”按钮。

创建配方 (Creating a Recipe)

        在上一节中,我们已经看到我们可以创建项目并向其添加数据集。我们看到的数据集示例基于“联合国大会对国家的投票”。如果我们启动项目,我们应该能够看到数据的每个属性的初步概览。

        我们可以看到快速分布、独特和唯一实例的数量、平均值、中位数和其他统计数据。假设我们要计算每个国家的总票数和“yes_votes”列的实例数。如果你熟悉SQL查询,你可以猜到我们可以使用“group by”查询来完成这项任务。我们将在这里以交互方式完成相同的任务。我们将编写步骤来在配方中完成这些任务。在编写配方之前,让我们看看AWS Glue DataBrew可以做什么。

        我们可以看到此服务允许我们通过单击这些选项来对数据进行许多操作。这个选项栏在项目视图的顶部可用。我们现在必须添加步骤来完成这些任务。可以从顶部栏(如上所示)或从右侧的“配方”菜单中添加配方。我们可以“添加步骤”来定义我们想要对数据应用的内容。

        让我们定义一个包含以下步骤的配方:

  1. 处理缺失值
  2. 计算每个国家的总票数
  3. 计算每个国家的“yes_votes”实例数

        在查看数据时,我们可以看到一些列有缺失(即“null”)值,其中之一是“affinityscore_china”。

        我们可以点击顶部标签栏中的“缺失”标签。我们将看到如何处理缺失值的多个选项 - 通常可以替换值或删除整行。在此示例中,我们将通过所有现有/有效值的平均值替换缺失值。我们可以展开“缺失”标签,选择要处理的列。然后我们需要选择“填充数值聚合”。接下来,我们需要选择聚合方法,在此示例中是所有有效值的“平均值”。我们还可以指定我们要在“应用转换到”中应用此过程的行数。

        我们可以点击“应用”按钮,将聚合方法应用于数据列。

        一旦应用,此过程将作为步骤添加到我们的配方中。

        接下来,我们要计算“all_votes”的总票数和“yes_votes”列的实例总数。我们可以点击顶部标签栏中的“分组”标签。这将带来以下界面。

        我们需要选择要“分组依据”的列。然后选择要聚合的列。我们可以根据需要添加多个列。“作为新表分组”选项将替换原始表,因此在应用前需要仔细检查。我们可以将结果添加为“新列”和“仅查看受影响的列”。所有这些操作应用后将添加到我们的配方中。

发布和下载配方 (Publishing and Downloading Recipe)

        一旦创建配方,我们可以发布它。未发布之前,我们无法导出或在其他项目中使用它。发布前,配方处于“工作版本”状态。我们可以点击“配方”界面右上角的“发布”按钮。

        然后点击“发布”按钮。

        配方将立即发布,版本将变为“版本1.0”。

        一旦发布,我们可以通过点击“更多”按钮,然后选择“下载为JSON”来下载配方。JSON文件将如下所示。

[{"Action": {"Operation": "FILL_WITH_AVERAGE","Parameters": {"sourceColumn": "affinityscore_china"}}},{"Action": {"Operation": "GROUP_BY","Parameters": {"groupByAggFunctionOptions": "[{\"sourceColumnName\":\"yes_votes\",\"targetColumnName\":\"yes_votes_count\",\"targetColumnDataType\":\"int\",\"functionName\":\"COUNT\"},{\"sourceColumnName\":\"all_votes\",\"targetColumnName\":\"all_votes_sum\",\"targetColumnDataType\":\"int\",\"functionName\":\"SUM\"}]","sourceColumns": "[\"state_name\"]","useNewDataFrame": "false"}}}
]

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/18517.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【数据结构(邓俊辉)学习笔记】二叉树04——Huffman树

文章目录 0. 概述1. 无前缀冲突编码2. 编码成本3. 带权编码成本4. 编码算法5. 算法实现流程6. 时间复杂度与改进方案 0. 概述 学习Huffman树。 1. 无前缀冲突编码 在加载到信道上之前,信息被转换为二进制形式的过程称作编码(encoding)&…

【随笔】Git 实战篇 -- Git Rebase出错?手把手教你如何优雅地解决常见问题 (四十二)

💌 所属专栏:【Git】 😀 作  者:我是夜阑的狗🐶 🚀 个人简介:一个正在努力学技术的CV工程师,专注基础和实战分享 ,欢迎咨询! 💖 欢迎大…

JAVA系列:NIO

NIO学习 一、前言 先来看一下NIO的工作流程图: NIO三大核心组件,channel(通道)、Buffer(缓冲区)、selector(选择器)。NIO利用的是多路复用模型,一个线程处理多个IO的读…

探秘三相交流电子负载应用

三相交流电子负载是模拟实际负载的电子设备,主要用于电源、电机、变压器等产品的性能测试和老化试验。它能够精确控制电流、电压、频率等参数,模拟各种复杂的负载情况,为产品研发和质量控制提供可靠的测试手段。 三相交流电子负载在电源产品测…

4. 排序算法

文章目录 1.简单排序1.1 冒泡排序1.1.1 步骤核心思想1.1.2 参考代码1.1.3 时间复杂度1.1.4 空间复杂度1.1.5 优化 1. 2. 选择排序1.2.1 核心思想1.2.2 步骤1.2.3 参考代码1.2.4 时间复杂度1.2.5 空间复杂度1.2.6 优化 1.3 插入排序1.3.1 思想1.3.2 步骤1.3.3 参考代码1.3.4 时间…

js使用链表实现音乐播放器(新增,下一首播放,置顶,删除)

什么是链表 链表是一种线性数据结构,与数组类似,它用于存储一系列元素。不过,与数组在内存中连续存储元素不同,链表中的元素(称为节点)在内存中可以是非连续存放的。每个节点包含两部分:一部分…

Java开发的saas模式智能制造超强云MES系统源码springboot+mysql+uniapp一整套云MES系统源码

Java开发的saas模式智能制造超强云MES系统源码springbootmysqluniapp一整套云MES系统源码 智能制造超强云MES系统概述: MES以生产车间管理为核心,帮助企业实现生产动态监控和管理。把制造数据管理、计划排程管理、生产调度管理、库存管理、质量管理、人…

swagger-ui页面接口的入参出参与代码实体类不一致有差异、swagger请求实体与预期定义不符、swagger参数与实体中参数不一致原因分析

文章目录 一、问题背景二、问题原因及解决方法 一、问题背景 项目集成swagger之后,发现有个接口的请求跟接口对应不上,把其他接口的请求参数放到当前这个请求上了。 如下图:test1接口的请求参数是其他请求的,并不是test1接口的 …

win10如何查看本机ip地址?三招搞定,快来试试吧

在数字化时代,IP地址作为网络设备的唯一标识,对于计算机使用者来说具有重要意义。无论是为了进行网络设置、远程连接,还是解决网络问题,了解如何查看本机IP地址都是一项必备技能。对于使用Windows 10操作系统的用户来说&#xff0…

简单的 Cython 示例

1&#xff0c; pyx文件 fibonacci.pyx def fibonacci_old(n):if n < 0:return 0elif n 1:return 1else:return fibonacci_old(n-1) fibonacci_old(n-2) 2&#xff0c;setup.py setup.py from setuptools import setup from Cython.Build import cythonizesetup(ext_mod…

node.js(express)+MongoDB快速搭建后端---新手教程

前言&#xff1a; Node.js是一个基于 Chrome V8引擎的JavaScript运行环境&#xff0c;是对于前端工程师来说学习成本最小的后端实现方法&#xff0c;本篇文章总结如何从0-1写一个后端的登录接口 一、检查node环境 先检查自己的node是否安装 一般来说前端工程师的电脑环境肯定…

六面体大米装袋机在提升大米包装效率中的作用

在当今社会&#xff0c;随着科技的飞速发展&#xff0c;各行各业都在寻求创新与突破&#xff0c;以提升生产效率和降低成本。而在大米包装领域&#xff0c;六面体大米装袋机的出现&#xff0c;无疑为整个行业带来了革命性的变化。这种先进的机械设备不仅提高了大米的包装效率&a…

【全开源】沃德校友会管理系统(FastAdmin+ThinkPHP+Uniapp)

一款基于FastAdminThinkPHPUniapp开发的校友会综合服务平台&#xff0c;即校友信息管理平台、活动管理平台、校友服务大厅、校友企业服务平台等&#xff0c;实现集中学校、学院、校友会于一体的基础服务平台的搭建&#xff0c;建设一个满足校友信息化长期发展的、可扩展的综合校…

全面盘点多模态融合算法及应用场景

关注作者&#xff0c;分享AI全维度知识。作者拥有10年互联网服务架构、AI产品研发经验、团队管理经验&#xff0c;同济本复旦硕博&#xff0c;复旦机器人智能实验室成员&#xff0c;阿里云认证的资深架构师&#xff0c;项目管理专业人士&#xff0c;上亿营收AI产品研发负责人 多…

一款更加轻量级的虚拟机:Multipass

一款更加轻量级的虚拟机&#xff1a;Multipass 前言Multipass概述安装Multipassmultipass命令命令使用说明 Multipass的使用查看镜像列表新建和运行虚拟机查看虚拟机列表查看虚拟机信息进入虚拟机外部操作虚拟机删除和释放实例初始化配置虚拟机的调整设置桥接网络接口配置软件源…

Oracle dblink 发现Network 等待事件的分析 enq: KO - fast object checkpoint

所有的sql 通过dblink 查询全部等待中&#xff0c; 同一个SQL 20多个session 在跑&#xff0c;等待事件network&#xff0c;可能怀疑是不是网络断开了&#xff0c;导致没有返回 执行sql 如下&#xff1a; BEGIN Xdblink ; END; 去到dblink 所在的db&#xff0c;发现20多个sql在…

白酒:白酒产地的地域文化与品牌形象

云仓酒庄豪迈白酒&#xff0c;作为中国白酒的一部分&#xff0c;其品牌形象深受产地的地域文化影响。地域文化是一个地区与众不同的文化传统和价值观&#xff0c;它影响着当地人的生活方式和审美观念&#xff0c;进而影响白酒的品牌形象。 首先&#xff0c;白酒产地的历史与传统…

ClickHouse安装教程:开启你的列式数据库之旅

ClickHouse是一个高性能的列式数据库管理系统&#xff0c;适用于在线分析处理&#xff08;OLAP&#xff09;。以下是ClickHouse的一些基本使用步骤&#xff1a; 下载二进制文件&#xff1a;您可以通过运行以下curl命令在Linux、FreeBSD或macOS上本地下载ClickHouse&#xff1a…

Midjourney如何控制光照?提示词灵感来了!

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 Midjourney如何控制光照&#xff1f;提示词灵感来了&#xff01;文章目录 前言总结 前言 Midjourney v6 已经更新好久了&#xff0c;你知道有哪些可以控制光照效果的关键词吗…

全志T527 适配双目tp2815_mipi

一、硬件信息 TP2815&#xff1a; 确认硬件信息&#xff1a; 1、通信接口&#xff1a;TWI2总线&#xff0c;引脚组为PE1 、PE2 2、RESET脚&#xff1a; 二、软件配置 1、设备树 t527 dtsi: bsp/configs/linux-5.15/sun55iw3p1.dtsi t527 uboot-board.dts device/config/chi…