要完善数据,需要从一个位置获取数据,对其进行清理和塑造,然后将结果写入另一个位置。 您可以使用名为 Data Refinery的图形流编辑器工具来清理和塑造表格数据。
清理数据时,可修复或移除不正确、不完整、格式错误或者重复的数据。 当您 塑造数据时,可以通过过滤,排序,组合或除去列来对其进行定制。
创建 Data Refinery 流作为数据的有序操作集。 Data Refinery 包含一个图形界面,用于对数据进行概要分析以验证数据以及超过 20 个可定制图表,使您能够深入了解数据。
- 必需服务
- watsonx.aiStudio 或IBM Knowledge Catalog
- 数据格式
- Avro , CSV , JSON , Microsoft Excel (xls 和 xlsx 格式)。 仅第一个工作表,连接和已连接的数据资产除外。) 具有 "sas7bdat" 扩展 (只读) , TSV (只读) 或定界文本数据资产的 Parquet , SAS
- 关系数据源中的表
- 数据大小
- 不限。 Data Refinery 对数据集中的部分行样本进行操作。 样本大小是 1 MB 或 10,000 行,以先达到者为准。 但是,运行 Data Refinery 流程作业时,就会处理整个数据集。 如果 Data Refinery 流因大型数据资产而失败,请参阅 对 Data Refinery中的变通方法。
有关根据您的数据和用例选择正确工具的更多信息,请参阅选择工具。
先决条件
您需要先创建项目,创建一个使用 Cloud Object Storage 的项目,然后才能优化数据。
观看此视频以了解如何创建项目
此视频提供了一种可视方法来学习本文档中的概念和任务。
如果您有云数据源或内部部署数据源中的数据,您需要对这些数据源进行 "添加连接,或者对每个连接进行 "添加数据资产。 如果要将优化的数据保存到云端或本地数据源,也要创建连接。 在Data Refinery 中,源连接只能用于读取数据;目标连接只能用于写入数据。 创建目标连接时,请确保使用具有 "写入 "权限的凭据,否则将无法将Data Refinery流程输出保存到目标。
观看此视频以了解如何创建连接并将已连接的数据添加到项目
此视频提供了一种可视方法来学习本文档中的概念和任务。
源文件限制
CSV 文件
请确保 CSV 文件正确格式化并符合以下规则:
- 行中的两个连续逗号指示空列。
- 如果一行以逗号结尾,那么会另外创建一列。
如果您的 CVS 文件在输入字段中包含任何恶意有效载荷(例如公式),这些项目可能会被执行。
空格字符被视为数据的一部分
如果数据包含包含空格 (空白) 字符的列,那么 Data Refinery 会将这些空格字符视为数据的一部分,即使您在网格中看不到这些空格字符也是如此。 某些数据库工具可能会使用空格字符来填充字符串,以使列中的所有数据的长度相同,并且此更改会影响比较数据的 Data Refinery 操作的结果。
列名
请确保列名符合以下规则:
- 不允许重复的列名。 列名在数据集中必须是唯一的。 列名不区分大小写。 同时包含列名“Sales”和“sales”的数据集无法工作。
- 列名不是 R 编程语言中的保留字。
- 列名不是数字。 变通方法是,将列名括在双引号 ("") 内。
在 Data Refinery 流中不支持具有 "其他" 数据类型的列的数据集
如果您的数据集包含的列的数据类型在watsonx.aiStudio 预览中被识别为 "其他",那么这些列将在Data Refinery中显示为字符串数据类型。 但是,如果您尝试在 Data Refinery 流中使用数据,那么 Data Refinery 流的作业将失败。 在预览中显示为 "其他" 的数据类型的示例是 Db2 DECFLOAT 数据类型。
目标文件限制
如果将 Data Refinery 流输出 (目标数据集) 保存到文件,那么以下限制适用:
- 如果文件是现有数据资产,那么无法更改文件格式。
数据保护规则
Data Refinery 不支持针对行过滤的数据保护规则。 如果资产由行过滤数据保护规则管理,那么 Data Refinery 作业可能会失败。 此外,如果将资产从 IBM Knowledge Catalog 添加到由行过滤数据保护规则管理的项目,那么不会在 Data Refinery中实施屏蔽。 有关信息,请参阅 数据保护规则实施。
数据集预览
Data Refinery 支持大型数据集,大型数据集可能非常耗时且难以优化。 为了能够快速高效地运作,在您以交互方式优化数据的同时,Data Refinery 可以对数据集中的部分行进行操作。 运行 Data Refinery 流程作业时,它会对整个数据集执行操作。
优化数据
以下视频显示了优化数据的方式。
此视频提供了一种可视方法来学习本文档中的概念和任务。
视频脚本 时间 脚本 00:00 此视频显示如何使用 Data Refinery对原始数据进行塑形。 00:05 要开始从项目优化数据,请查看数据资产并在 Data Refinery中将其打开。 00:14 完成优化数据后, "信息" 窗格将包含数据流和数据流输出的名称。 00:23 "数据" 选项卡向您显示数据集中的行和列的样本集。 00:29 为了提高性能,您不会看到整形器中的所有行。 00:33 但请放心,当您完成对数据的优化后,数据流将在完整的数据集上运行。 00:41 "概要文件" 选项卡显示每个列的频率和摘要统计信息。 00:49 "可视化" 选项卡提供您感兴趣的列的数据可视化。 00:57 建议使用的图表在其图标旁边会有一个蓝点。 01:03 使用图表中提供的不同透视图标识数据中的模式、连接和关系。 01:12 现在,我们来进行一些数据角力。 01:17 从简单操作开始,比如对指定的列进行排序-在这种情况下,是 "Year" 列。 01:27 如果您只想关注特定航空公司的延迟,那么可以过滤数据以仅显示唯一承运方为 "United Airlines" 的那些行。 01:47 查看完全延迟将很有帮助。 01:50 您可以通过创建新列来执行此操作,以组合到达和离开延迟。 01:56 请注意,列类型推断为整数。 02:00 选择出发延迟列并使用 "计算" 操作。 02:09 在这种情况下,您将把到达延迟列添加到所选列中,并创建一个新列,名为"TotalDelay"。 02:23 您可以将新列放置在列列表的末尾或原始列旁边。 02:31 应用操作时,新列显示在出发延迟列旁边。 02:38 如果您犯了错误,或者只是决定进行更改,那么只需访问 "步骤" 面板并删除该步骤。 02:46 这将撤销该特定操作。 02:50 您还可以使用重做和撤销按钮。 02:56 接下来,你要关注"TotalDelay"列,这样就可以使用 "select"(选择)操作将该列移到开头。 03:09 该命令会将"TotalDelay"列排在列表的第一位,其他列排在其后。 03:21 接下来,使用 "group_by" 操作按年,月和日将数据划分为组。 03:32 因此,当您选择 ""TotalDelay"列时,您将看到 "年"、"月"、""DayofMonth","和 ""TotalDelay""列。 03:44 最后,您要找出"TotalDelay"列的平均值。 03:48 当您展开 "操作" 菜单时,在 "组织" 部分中,您将找到 "聚集" 操作,其中包括 "平均值" 函数。 04:08 现在你有了一个新列,名为"AverageDelay",表示总延迟的平均值。 04:17 现在,要运行数据流并保存和创建作业。 04:24 提供作业的名称并继续到下一个屏幕。 04:28 "配置" 步骤允许您查看作业运行的输入和输出。 04:36 并选择用于运行作业的环境。 04:41 调度作业是可选的,但您可以设置日期并在需要时重复该作业。 04:51 您可以选择接收此作业的通知。 04:56 一切都好看,所以创建并运行作业。 05:00 这可能需要几分钟时间,因为请记住,数据流将在完整数据集上运行。 05:06 在平均时间内,您可以查看状态。 05:12 当运行为竞争时,您可以返回到项目中的 "资产" 选项卡。 05:20 然后打开 Data Refinery 流以进一步优化数据。 05:28 例如,您可以按降序对"AverageDelay"列进行排序。 05:36 现在,编辑流设置。 05:39 在 "常规" 面板上,可以更改 Data Refinery 流名称。 05:46 在 "源数据集" 面板上,可以编辑源数据集的样本或格式,也可以替换数据源。 05:56 在 "目标数据集" 面板上,可以指定备用位置,例如外部数据源。 06:06 您还可以编辑目标的属性,例如写方式,文件格式以及更改数据集资产名称。 06:21 现在,再次运行数据流; 但这一次,保存并查看作业。 06:28 从列表中选择要查看的作业并运行该作业。 06:41 运行完成后,返回到项目。 06:46 在 "资产" 选项卡上,您将看到所有三个文件: 06:51 原创。 06:54 第一个完善的数据集,显示未排序的"AverageDelay"。 07:02 第二个数据集显示的是按降序排序的"AverageDelay"列。 07:11 返回到 "资产" 选项卡上,有 Data Refinery 流程。 07:19 在 Cloud Pak for Data as a Service 文档中查找更多视频。
1.从项目内部访问Data Refinery。 单击 新建资产> 准备并可视化数据。 然后选择要使用的数据。 或者,从项目的 "资产"选项卡,单击数据资产预览,然后单击 "准备数据"。
2. 使用步骤来应用用于清理,塑形和扩充数据的操作。 浏览 操作类别或搜索特定操作,然后让 UI 指导您。 您可以在命令行中输入 R 代码,并让自动填充功能帮助您获取正确的语法。 将操作应用于数据集之后,Data Refinery 将对数据集进行跟踪并构建 Data Refinery 流。 对于您应用的每个操作, Data Refinery 会添加一个步骤。
数据选项卡 "
""
如果数据包含非字符串数据类型,那么在 Data Refinery 中打开文件时,转换列类型 GUI 操作会作为 Data Refinery 流程的第一步自动应用。 数据类型将自动转换为推断的数据类型(例如,整数、日期或布尔值)。 您可以撤销或编辑此步骤。
3。单击 概要文件 选项卡以在整个数据优化过程中 验证数据 。
简介选项卡 "
"
4. 单击 可视化 选项卡以在图表中 可视化数据 。 取消覆盖数据中的模式、趋势和关联。
可视化选项卡 '
'
5. 优化样本数据集以满足您的需求。
6。单击工具栏中的 保存并创建作业 或 保存并查看作业 以对整个数据集运行 Data Refinery 流。 选择运行时并添加一次性或重复调度。 有关作业的信息,请参阅 在 Data Refinery中创建作业。
运行 Data Refinery 流的作业时,将处理整个数据集。 因此,根据转换和流程中处理的数据量,作业可能会创建一个大型输出(目标)数据集。 默认情况下,Data Refinery流程的结果会保存为项目中的数据资产。
有关在优化数据时可以执行的操作,请参阅 管理 Data Refinery 流程。
下一步
了解更多信息
父主题: 准备数据