如何从 HANA Studio 教程导入和导出数据

⚡ 智能摘要

进出口选项 SAP HANA Studio 可以在系统之间移动表、信息视图、景观和完整的交付单元,以便开发人员可以将内容从开发服务器提升到质量保证和生产环境。

  • 🔘 入口点: 这两个操作都是从“文件”菜单开始的。 SAP HANA Studio 并打开一个向导,其中包含相同的两个选项系列。
  • ☑️ 目录与内容: 目录对象涵盖表、视图和过程,而内容涵盖存储库包和交付单元。
  • 配送单元: 一个交付单元会将映射到它的每个包裹打包在一起,因此一个归档文件包含一个完整的版本。
  • 🧪 开发者模式: 开发者模式可以将单个对象导出或导入到本地客户端计算机上的文件夹中。
  • 🛠️ SQL 的替代方案: EXPORT 和 IMPORT 语句在任何 SQL 控制台中执行相同的工作,并支持二进制或 CSV 格式。
  • 🔐 授权: 在执行导出和导入操作之前,需要拥有对对象的 SELECT 或 INSERT 权限。

导入和导出选项 SAP HANA 工作室

进出口选项 SAP HANA 提供将表格、信息视图和完整视图移动到另一个系统或同一系统内的不同位置的功能。

这两个操作都是从“文件”菜单启动的。 SAP HANA 工作室并且,打开的向导会将所有对象类型归入相同的两个类别: SAP HANA涵盖目录对象和景观对象, SAP HANA 内容涵盖存储库包和交付单元。以下两节将依次介绍这两个方向。

如何导出数据 SAP 花?

步骤1) 转到“文件”菜单,然后选择“导出”。

文件菜单 SAP HANA Studio 将导出功能直接列在导入条目下方,如屏幕截图所示。

SAP HANA Studio 文件菜单中的“导出”选项已高亮显示

然后会弹出“导出”窗口。

两种出口选项 SAP HANA 对象是可创建的,每个对象系列都有自己的一套向导。

SAP HANA

  • 目录对象: 用于导出目录对象,例如表、视图或过程。
  • 景观: 用于将景观数据从一个系统导出到另一个系统。

SAP HANA 内容

  • 变更和运输系统 (CTS): 用于通过 ABAP 程序导出信息视图。
  • 发货单位: 配送单元是指单个单位。此选项用于导出映射到同一配送单元的多个包裹。
  • 开发者模式: 此选项可用于将单个对象导出到本地系统中的某个位置。
  • SAP 支持模式: 这可用于将对象及其数据一起导出。 SAP 支持目的。

导出向导会将两个家族显示在单个选择树中,如下所示。

导出向导 SAP HANA Studio 列表 SAP HANA 和 SAP HANA 内容导出选项

选择选项后,向导会询问要导出的对象以及目标位置,目标位置可以是某个文件夹。 SAP HANA 服务器或本地客户端上的文件夹。由 HANA 服务器生成的内容 SAP HANA建模,例如 属性视图 或者 计算视图始终以内容的形式传播,而不是以目录对象的形式传播。

如何导入数据 SAP 花?

导入操作会反向执行该过程,将归档文件、本地文件或源系统读取到目标数据库中。

步骤1) 转到“文件”菜单,然后选择“导入”。

正如下一张截图所示,同一个“文件”菜单中也包含了“导入”选项。

SAP HANA Studio 文件菜单,并选中“导入”选项

然后会弹出“导入”选项窗口。

两种进口选项 SAP 提供 HANA 对象,并且内容系列包含的条目比其导出对应项多几个。

SAP HANA

  • 目录对象: 用于导入目录对象,例如表、视图或过程。
  • ESRI Shape 文件: 环境系统研究所 (ESRI) shapefile 格式用于存储数据集中空间要素的几何数据和属性信息。
  • 景观: 用于将景观从一个系统导入到另一个系统。

SAP HANA 内容

  • 本地文件数据: 用于将 .csv、.xls 或 .xlsx 文件中的数据导入到表格中。
  • 发货单位: 配送单元是指单个包裹。此选项用于导入映射到同一配送单元的多个包裹。
  • 开发者模式: 此选项可用于从本地系统中的某个位置导入单个对象。
  • 元数据的批量导入: 这可用于一次性导入多个对象的元数据。
  • SAP NetWeaver BW 型号: 这可用于将BW模型导入到 SAP 花。
  • 选择性导入元数据: 这可用于将单个对象的元数据导入到系统中。 SAP 花。

导入向导会将所有这些条目列在一个树状结构中,如下面的屏幕截图所示。

导入向导 SAP HANA Studio 显示目录、内容和元数据导入选项

使用 SQL 语句导出和导入数据 SAP HANA

Studio 向导对于单次传输来说很方便,但对于可重复的迁移,从 SQL 控制台运行则更容易。 SAP HANA SQL 引擎通过 EXPORT 和 IMPORT 语句公开相同的目录行为,这些语句可以进行计划、编写脚本并置于版本控制之下。

这两个语句的官方说明形式都是将对象列表放在前面,将存储路径放在 format 关键字后面。

-- Statement forms published in the SQL reference
EXPORT <object_name_list> AS <format> INTO <path> [WITH <options>]
IMPORT <object_name_list> [AS <format>] FROM <path> [WITH <options>]

-- Export two tables of schema DHK_SCHEMA in CSV format
EXPORT "DHK_SCHEMA"."PRODUCT", "DHK_SCHEMA"."PURCHASE_ORDER"
    AS CSV INTO '/usr/sap/HDB/HDB00/work/export' WITH REPLACE THREADS 4;

-- Export every object of one schema in binary format
EXPORT "DHK_SCHEMA"."*" AS BINARY INTO '/usr/sap/HDB/HDB00/work/export';

-- Import the objects again and rename the target schema
IMPORT "DHK_SCHEMA"."*" FROM '/usr/sap/HDB/HDB00/work/export'
    WITH REPLACE RENAME SCHEMA "DHK_SCHEMA" TO "DHK_TEST";

有两种导出格式可供选择,选择会影响速度和便携性。

方面 BINARY CSV
支持的商店 列式存储表、过程和序列 列式存储表和行式存储表
Readable 学校以外 SAP HANA 不,这些文件是内部文件。 是的,任何文本编辑器或加载器都可以读取它们。
导入行为 现有表格数据将被覆盖 除非使用 REPLACE 语句,否则将追加行。
典型用途 同一版本中的系统间副本 移交给另一个数据库或分析师

语句中的实用选项包括:REPLACE(用于覆盖现有目标)、CATALOG ONLY(用于移动定义而不移动行)、DATA ONLY(用于将行移动到现有定义中)、THREADS(用于提高并行度)以及 RENAME SCHEMA(用于将对象移动到不同的模式)。完整的选项列表已发布在[此处应插入相关文档或文档链接]。 SAP HANA SQL 参考指南.

进出口所需的权限 SAP HANA

导出或导入操作立即失败,并显示以下消息 权限不足:未授权 几乎总是授权问题而不是语法问题,因此首先值得检查所需的授权。

  • 导出系统权限: 必须在运行任何目录导出程序之前执行,并且与对象访问权限分开授予。
  • 导入系统权限: 在运行任何目录导入程序之前需要执行此操作。
  • 对源对象执行 SELECT 操作: 除了 EXPORT 语句之外,还需要这个语句,因为该语句会读取它写入的行。
  • 对目标对象执行 INSERT 操作: 除了 IMPORT 语句之外,还需要此语句,因为该语句会将行写入目标表。
  • 软件包权限: 由于这些对象存在于存储库中而不是模式中,因此需要交付单元或开发人员模式传输。

已提供的 CONTENT_ADMIN 角色已具备 EXPORT 和 IMPORT 权限,因此管理员通常会在一次性传输时使用它。专用角色更适合日常工作,同样的道理也适用于文中讨论的其他所有授权。 SAP HANA 安全性如果导出的视图也包含行级限制,则目标系统需要匹配。 分析权限 在用户看到任何数据之前。

进出口 SAP HANA Cloud 和数据库浏览器

SAP HANA Studio 是一个本地部署的 Eclipse 客户端,而不是与客户端一起使用的工具。 SAP HANA Cloud。那里的等效工作是在 HANA Cloud 中完成的。 SAP HANA 数据库浏览器,从此处打开 SAP HANA Cloud Central 或来自 SAP 商业应用工作室。

  • 数据导出和导入: 一次只能处理一个表格或视图的内容。
  • 目录导出和导入: 可以同时处理多个对象,可以包含函数和过程,并且包含重新创建每个对象所需的 SQL。
  • 云储存: 进出口可以解决 Amazon S3, Azure Blob 存储或 Google Cloud 数据库主机上使用存储而不是文件系统。
  • 仓库内容: 交付单元属于经典存储库,该存储库已被弃用。 SAP HANA 2.0 SPS 02 中,云项目以内置的多目标应用程序归档的形式传输。 SAP 改用 Business Application Studio。

出口和进口报表本身仍然可以查阅。 SAP 由于 HANA Cloud 的架构与本地系统不同,因此针对本地系统编写的脚本通常需要新的存储路径和凭证对象,而不是重写。有关云工具的分步演练,请参阅相关文档。 SAP 数据库浏览器开发者教程.

常见问题

SAP HANA Studio 将交付单元写入扩展名为 .tgz 的压缩归档文件。该归档文件包含映射到该交付单元的所有包,因此只需一步即可将一个文件移动到目标系统并导入。

开发者模式适用于将少量单独的视图或软件包快速移交给本地文件夹。交付单元导出适用于发布传输,因为它会携带分配给该单元的每个软件包及其版本信息。

目录传输运行时数据库对象的副本,包括表、视图、存储过程及其行。内容传输设计时存储库工件的副本,例如包和信息视图。目录对象存储在模式中,而内容存储在包中。

导出操作读取的是一致性快照,因此写入操作不会被锁阻塞。但大型导出操作仍然会消耗服务器的处理器时间、内存和磁盘带宽,因此请在非高峰时段运行批量导出操作,并使用 THREADS 选项控制并行度。

机器学习模型会在导入前对源数据进行分析,标记列类型不匹配、重复键和异常值,并预测哪些导入操作会失败。对导入统计信息的异常检测还会突出显示导入行数远低于预期的运行情况。

是的。例如助理。 GitHub 副驾驶 根据注释起草语句、选项列表和 shell 包装器。务必检查存储路径、模式名称和 REPLACE 选项,因为 REPLACE 会覆盖现有表数据。

是的。 SAP HANA Cloud 的导出语句接受对象存储路径。 Amazon S3, Azure Blob 存储或 Google Cloud 存储方式为通过凭证对象提供访问密钥,因此数据库主机上不需要文件系统。

是的。导入语句接受 WITH RENAME SCHEMA 参数,该参数会将导出的模式名称映射到新的目标模式。如果只想加载定义或行,则可以将其与 CATALOG ONLY 或 DATA ONLY 参数结合使用。

总结一下这篇文章: