数据湖服务常见问题解答

一般问题

什么是 OCI Data Lake?

OCI Data Lake 是一项可改善数据治理的全托管式数据湖服务,帮助用户集中管理数据湖中的数据存储和安全。该服务使用户能够轻松摄取/分析数据。用户和应用可以在组织内无缝分享数据,实施细粒度的对象访问控制。使用数据湖中数据的集成式引擎将执行预定义的访问控制规则。

为何要使用 OCI Data Lake?

OCI Data Lake 使客户能够存储和治理结构化、半结构化和非结构化数据。它是一个可满足所有数据管理需求的单一仪表盘,支持用户在短短数分钟内构建一个具有细粒度安全性的数据湖。此外,OCI Data Lake 还与其它 OCI 服务相集成,可帮助用户轻松摄取、处理和分析数据湖中的数据。

OCI Data Lake 与哪些服务相集成?

OCI Data Lake 与 OCI Data Integration 相集成,以便用户无需编写代码即可轻松地将数据摄取到数据湖中。在创建某个 OCI Data Lake 后,OCI Data Catalog 可自动获取数据湖中的条目,帮助数据管理员发现数据。OCI Data Lake 与 OCI Data Flow、Oracle Big Data 和 OCI Data Science 记事本无缝协作,帮助用户执行数据处理和运行分析工作负载。用户可以使用 Oracle Autonomous Data Warehouse 查询数据湖中的数据。

OCI Data Lake 支持哪些存储选项?

OCI Data Lake 用户可选择以文件模式(创建外部挂载或托管挂载)或关系模式(在数据湖中创建表)存储数据。

外部挂载和托管挂载有何区别?

外部挂载是指引用 Oracle Cloud Infrastructure (OCI) Object Storage 位置,所引用 OCI Object Storage 位置不受数据湖管理。外部挂载方法可面向 OCI Object Storage 位置中的现有数据提供细粒度访问控制。

托管挂载是指引用由数据湖服务管理的 OCI Object Storage 位置。托管挂载可为数据文件提供更高的安全性,确保仅获得授权的数据湖用户访问数据。托管挂载场景下,数据存储在数据湖中。

外部表和托管表有何区别?

外部表可定义 OCI Object Storage 位置(由您管理或挂载在数据湖中)所存储数据的结构。其中,挂载分为外部挂载和托管挂载两种。当删除一个外部表时,仅表定义被删除,所引用数据不会被删除。

托管表可定义数据湖中存储的,仅 OCI Data Lake 用户有权访问的数据的结构。当删除一个托管表时,表定义和表数据都将被删除。

存储

OCI Data Lake 支持哪些存储选项?

OCI Data Lake 用户可选择以文件模式(创建外部挂载或托管挂载)或关系模式(在数据湖中创建表)存储数据。

外部挂载和托管挂载有何区别?

外部挂载是指引用 Oracle Cloud Infrastructure (OCI) Object Storage 位置,所引用 OCI Object Storage 位置不受数据湖管理。外部挂载方法可面向 OCI Object Storage 位置中的现有数据提供细粒度访问控制。


托管挂载是指引用由数据湖服务管理的 OCI Object Storage 位置。托管挂载可为数据文件提供更高的安全性,确保仅获得授权的数据湖用户访问数据。托管挂载场景下,数据存储在数据湖中。

外部表和托管表有何区别?

外部表可定义 OCI Object Storage 位置(由您管理或挂载在数据湖中)所存储数据的结构。其中,挂载分为外部挂载和托管挂载两种。当删除一个外部表时,仅表定义被删除,所引用数据不会被删除。

托管表可定义数据湖中存储的,仅 OCI Data Lake 用户有权访问的数据的结构。当删除一个托管表时,表定义和表数据都将被删除。


提取

如何使用 OCI Data Lake 服务构建数据湖?

数据工程师可以使用 OCI Data Integration 服务,无代码地创建 ETL 流程。数据工程师还可以使用 SDK 和 API 来将数据摄取到数据湖,或在 OCI Data Flow 中创建一个 Spark 应用来摄取数据。

我可以使用 Terraform 创建数据湖吗?

可以,OCI Data Lake 支持使用 Terraform 创建 OCI Data Lake 资源。

OCI Data Lake 可以摄取流数据吗?

您可以通过 OCI Data Flow 流处理作业将数据写入数据湖。


数据发现

数据管理员应如何发现数据湖中的数据?

数据管理员可以使用 OCI Data Catalog(在数据湖创建流程中连接/供应)发现数据湖中的数据。数据目录将定期刷新,为数据管理员提供最新数据湖视图。

我可以在 OCI Data Lake 中使用现有数据目录和 Hive Metastore 吗?

不可以。在供应一个数据湖后,OCI Data Lake 将创建一个由其管理的数据目录。

安全性

什么是统一访问控制?

OCI Data Lake 的统一访问控制特性支持管理员为所有数据湖对象定义访问控制策略。此外,管理员还可以通过控制台提供的整合视图,查看哪些用户拥有数据湖对象访问权限。

OCI Data Lake 如何保护数据湖中的数据?

OCI Data Lake 提供两层安全性保障。仅拥有访问权限(由 Oracle IAM 策略授权)的用户可以访问数据湖。此外,数据湖将定义策略,治理数据湖中的所有对象。

我可以在 OCI Data Lake 中创建角色并为其授予权限吗?

可以。数据湖管理员可以创建角色,为角色、用户、资源主体、组和动态组授予权限。

治理

我可以保护外部/托管挂载的数据吗?

可以。用户可以为角色/用户/资源主体/组/动态组分配读取/写入/管理员权限。

我可以创建访问策略,保护挂载中的文件吗?

不可以,OCI Data Lake 不支持文件访问控制。

我可以限制对包含敏感数据的特定列的访问吗?

可以。OCI Data Lake 支持管理员创建列级访问控制策略。

我可以限制对 OCI Data Lake 表中某些行的访问吗?

可以,OCI Data Lake 支持管理员基于列值创建行级访问控制策略。

数据访问

如何处理和分析 OCI Data Lake 中的数据?

数据工程师可以使用 OCI Data Flow,在一个 Spark 应用中处理数据,或使用 Oracle Big Data Service 处理数据。数据科学家和数据分析师可以使用 OCI Data Science 记事本,基于数据湖中的数据执行探索性分析或创建机器学习模型。

如果将数据移动到 OCI Data Lake,是否必须编写一个新的 Spark 应用?

不需要,OCI Data Lake 支持 Spark API,您可以轻松读取/写入多种文件格式的数据。

分析师和数据科学家应如何访问 OCI Data Lake 数据?

数据分析师可利用 Spark SQL 执行 DDL、DML 操作或查询数据。

我可以在 OCI Data Lake 中执行数据可视化吗?

可以。OCI Data Lake 与 OCI Data Flow SQL 端点集成,由此您可以使用 JDBC/ODBC 驱动程序,利用支持 JDBC/ODBC 驱动程序的商务智能工具对 OCI Data Lake 中的数据执行可视化。您还可以使用 JDBC/ODBC 驱动程序,利用支持 JDBC/ODBC 驱动程序的 SQL 工具连接数据湖。

注:为免疑义,本网页所用以下术语专指以下含义:

  1. Oracle专指Oracle境外公司而非甲骨文中国。
  2. 相关Cloud或云术语均指代Oracle境外公司提供的云技术或其解决方案。