

# 从 Google Analytics 4 实体读取内容
<a name="googleanalytics-reading-from-entities"></a>

 **先决条件** 
+  您要从中读取内容的 Google Analytics 4 对象。请参阅下面的支持的实体表，查看可用的实体。

 **支持的实体** 


| 实体 | 可以筛选 | 支持限制 | 支持排序依据 | 支持 Select \* | 支持分区 | 
| --- | --- | --- | --- | --- | --- | 
| 实时报告 | 支持 | 是 | 是 | 是 | 否 | 
| 核心报告 | 支持 | 是 | 是 | 是 | 是 | 

 **示例** 

```
googleAnalytics4_read = glueContext.create_dynamic_frame.from_options(
    connection_type="GoogleAnalytics4",
    connection_options={
        "connectionName": "connectionName",
        "ENTITY_NAME": "entityName",
        "API_VERSION": "v1beta"
    }
```

 **Google Analytics 4 实体和字段详细信息** 


| 实体 | 字段 | 数据类型 | 支持的运算符 | 
| --- | --- | --- | --- | 
| 核心报告 | 动态字段 |  |  | 
| 核心报告 | 维度字段 | 字符串 | LIKE、= | 
| 核心报告 | 维度字段 | 日期 | LIKE、= | 
| 核心报告 | 指标字段 | 字符串 | >、<、>=、<=、=、BETWEEN | 
| 核心报告 | 自定义维度和自定义指标字段 | 字符串 | NA | 
| 实时报告 | appVersion | 字符串 | LIKE、= | 
| 实时报告 | audienceId | 字符串 | LIKE、= | 
| 实时报告 | audienceName | 字符串 | LIKE、= | 
| 实时报告 | city | 字符串 | LIKE、= | 
| 实时报告 | cityId | 字符串 | LIKE、= | 
| 实时报告 | country | 字符串 | LIKE、= | 
| 实时报告 | countryId | 字符串 | LIKE、= | 
| 实时报告 | deviceCategory | 字符串 | LIKE、= | 
| 实时报告 | eventName | 字符串 | LIKE、= | 
| 实时报告 | minutesAgo | 字符串 | LIKE、= | 
| 实时报告 | platform | 字符串 | LIKE、= | 
| 实时报告 | streamId | 字符串 | LIKE、= | 
| 实时报告 | streamName | 字符串 | LIKE、= | 
| 实时报告 | unifiedScreenName | 字符串 | LIKE、= | 
| 实时报告 | activeUsers | 字符串 | >、<、>=、<=、=、BETWEEN | 
| 实时报告 | conversions | 字符串 | >、<、>=、<=、=、BETWEEN | 
| 实时报告 | eventCount | 字符串 | >、<、>=、<=、=、BETWEEN | 
| 实时报告 | screenPageViews | 字符串 | >、<、>=、<=、=、BETWEEN | 

 **对查询进行分区** 

1.  **基于筛选条件的分区**：

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

      对于日期，我们接受 Spark SQL 查询中使用的 Spark 日期格式。有效值示例：`"2024-02-06"`。
   +  `UPPER_BOUND`：所选分区字段的排除上限值。
   +  `NUM_PARTITIONS`：分区的数量。

    **示例** 

   ```
   googleAnalytics4_read = glueContext.create_dynamic_frame.from_options(
       connection_type="GoogleAnalytics4",
       connection_options={
           "connectionName": "connectionName",
           "ENTITY_NAME": "entityName",
           "API_VERSION": "v1beta",
           "PARTITION_FIELD": "date"
           "LOWER_BOUND": "2022-01-01"
           "UPPER_BOUND": "2024-01-02"
           "NUM_PARTITIONS": "10"
       }
   ```

1.  **基于记录的分区** 

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

    **示例** 

   ```
   googleAnalytics4_read = glueContext.create_dynamic_frame.from_options(
       connection_type="GoogleAnalytics4",
       connection_options={
           "connectionName": "connectionName",
           "ENTITY_NAME": "entityName",
           "API_VERSION": "v1beta",
           "NUM_PARTITIONS": "10"
       }
   ```