Lesen aus Entitäten von Google Analytics 4
Voraussetzungen
-
Ein Objekt in Google Analytics 4, aus dem gelesen werden soll. In der folgenden Tabelle mit unterstützten Entitäten können Sie die verfügbaren Entitäten überprüfen.
Unterstützte Entitäten
| Entität | Kann gefiltert werden | Unterstützt Limit | Unterstützt „Sortieren nach“ | Unterstützt „* auswählen“ | Unterstützt Partitionierung |
|---|---|---|---|---|---|
| Echtzeitbericht | Ja | Ja | Ja | Ja | Nein |
| Grundlegender Bericht | Ja | Ja | Ja | Ja | Ja |
Beispiel
googleAnalytics4_read = glueContext.create_dynamic_frame.from_options( connection_type="GoogleAnalytics4", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "entityName", "API_VERSION": "v1beta" }
Entitäts- und Felddetails von Google Analytics 4
| Entität | Feld | Datentyp | Unterstützte Operatoren |
|---|---|---|---|
| Grundlegender Bericht | Dynamische Felder | ||
| Grundlegender Bericht | Dimensionsfelder | String | LIKE, = |
| Grundlegender Bericht | Dimensionsfelder | Datum | LIKE, = |
| Grundlegender Bericht | Metrikfelder | String | >, <, >=, <=, = BETWEEN |
| Grundlegender Bericht | Felder für benutzerdefinierte Dimensionen und benutzerdefinierte Metriken | String | N/A |
| Echtzeitbericht | appVersion | String | LIKE, = |
| Echtzeitbericht | audienceId | String | LIKE, = |
| Echtzeitbericht | audienceName | String | LIKE, = |
| Echtzeitbericht | city | String | LIKE, = |
| Echtzeitbericht | cityId | String | LIKE, = |
| Echtzeitbericht | country | String | LIKE, = |
| Echtzeitbericht | countryId | String | LIKE, = |
| Echtzeitbericht | deviceCategory | String | LIKE, = |
| Echtzeitbericht | eventName | String | LIKE, = |
| Echtzeitbericht | minutesAgo | String | LIKE, = |
| Echtzeitbericht | platform | String | LIKE, = |
| Echtzeitbericht | streamId | String | LIKE, = |
| Echtzeitbericht | streamName | String | LIKE, = |
| Echtzeitbericht | unifiedScreenName | String | LIKE, = |
| Echtzeitbericht | activeUsers | String | >, <, >=, <=, = BETWEEN |
| Echtzeitbericht | Konversionen | String | >, <, >=, <=, = BETWEEN |
| Echtzeitbericht | eventCount | String | >, <, >=, <=, = BETWEEN |
| Echtzeitbericht | screenPageViews | String | >, <, >=, <=, = BETWEEN |
Partitionierung von Abfragen
-
Filterbasierte Partition
Die zusätzlichen Spark-Optionen
PARTITION_FIELD,LOWER_BOUND,UPPER_BOUNDundNUM_PARTITIONSkönnen angegeben werden, wenn Sie Parallelität in Spark nutzen möchten. Mit diesen Parametern würde die ursprüngliche Abfrage inNUM_PARTITIONSUnterabfragen aufgeteilt, die von Spark-Aufgaben gleichzeitig ausgeführt werden können.-
PARTITION_FIELD: der Name des Feldes, das zur Partitionierung der Abfrage verwendet werden soll. -
LOWER_BOUND: ein inklusiver Untergrenzwert des ausgewählten Partitionsfelds.Als Datum akzeptieren wir das Spark-Datumsformat, das in Spark-SQL-Abfragen verwendet wird. Beispiel für gültige Werte:
"2024-02-06". -
UPPER_BOUND: ein exklusiver Obergrenzwert des ausgewählten Partitionsfelds. -
NUM_PARTITIONS: Anzahl der Partitionen.
Beispiel
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" } -
-
Datensatzbasierte Partition:
Die zusätzlichen Spark-Optionen
NUM_PARTITIONSkönnen angegeben werden, wenn Sie Parallelität in Spark nutzen möchten. Mit diesen Parametern würde die ursprüngliche Abfrage inNUM_PARTITIONSUnterabfragen aufgeteilt, die von Spark-Aufgaben gleichzeitig ausgeführt werden können.-
NUM_PARTITIONS: Anzahl der Partitionen.
Beispiel
googleAnalytics4_read = glueContext.create_dynamic_frame.from_options( connection_type="GoogleAnalytics4", connection_options={ "connectionName": "connectionName", "ENTITY_NAME": "entityName", "API_VERSION": "v1beta", "NUM_PARTITIONS": "10" } -