

# 从 Domo 实体中读取内容
<a name="domo-reading-from-entities"></a>

**先决条件**

要从中读取内容的 Domo 对象。您会用到“数据集”或“数据权限策略”等对象名称。下表显示支持的实体。

**源支持的实体**：


| 实体 | 可以筛选 | 支持限制 | 支持排序依据 | 支持 Select \$1 | 支持分区 | 
| --- | --- | --- | --- | --- | --- | 
| 数据集 | 支持 | 是 | 是 | 是 | 是 | 
| 数据权限策略 | 否 | 否 | 否 | 是 | 否 | 

**示例：**

```
Domo_read = glueContext.create_dynamic_frame.from_options(
    connection_type="domo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "dataset",
        "API_VERSION": "v1"
    }
```

## Domo 实体和字段详细信息
<a name="domo-reading-from-entities-field-details"></a>

具有静态元数据的实体：

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/domo-reading-from-entities.html)

对于以下实体，Domo 提供用于动态获取元数据的端点，以便在实体的数据类型级别捕获运算符支持。

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/domo-reading-from-entities.html)

## 对查询进行分区
<a name="domo-reading-from-partitioning"></a>

**基于字段的分区**

如果您想在 Spark 中利用并发，可以提供其他 Spark 选项：`PARTITION_FIELD`、`LOWER_BOUND`、`UPPER_BOUND` 和 `NUM_PARTITIONS`。使用这些参数，原始查询将被拆分为 `NUM_PARTITIONS` 个子查询，这些子查询可以由 Spark 任务同时执行。
+ `PARTITION_FIELD`：用于对查询进行分区的字段的名称。
+ `LOWER_BOUND`：所选分区字段的**包含**下限值。

  对于日期时间字段，我们接受 ISO 格式的值。

  有效值示例：

  ```
  "2023-01-15T11:18:39.205Z"
  ```

  对于“日期”字段，我们接受 ISO 格式的值。

  有效值示例：

  ```
  "2023-01-15"
  ```
+ `UPPER_BOUND`：所选分区字段的**排除**上限值。

  有效值示例：

  ```
  "2023-02-15T11:18:39.205Z"
  ```
+ `NUM_PARTITIONS`：分区的数量。

基于实体的分区字段支持详细信息如下表中所示：

[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/zh_cn/glue/latest/dg/domo-reading-from-entities.html)

示例：

```
Domo_read = glueContext.create_dynamic_frame.from_options(
    connection_type="domo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "dataset",
        "API_VERSION": "v1",
        "PARTITION_FIELD": "permissionTime"
        "LOWER_BOUND": "2023-01-15T11:18:39.205Z"
        "UPPER_BOUND": "2023-02-15T11:18:39.205Z"
        "NUM_PARTITIONS": "2"
    }
```

**基于记录的分区**

如果您想在 Spark 中利用并发，可以提供附加 Spark 选项 `NUM_PARTITIONS`。使用此参数，原始查询将被拆分为 `NUM_PARTITIONS` 个子查询，这些子查询可以由 Spark 任务同时执行。

在基于记录的分区中，从 Domo 查询存在的记录总数，然后将其除以提供的 `NUM_PARTITIONS` 数字。然后，每个子查询会同时获取生成的记录数。

示例：

```
Domo_read = glueContext.create_dynamic_frame.from_options(
    connection_type="domo",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "dataset",
        "API_VERSION": "v1",
        "NUM_PARTITIONS": "2"
    }
```