

Für ähnliche Funktionen wie Amazon Timestream für sollten Sie Amazon Timestream for LiveAnalytics InfluxDB in Betracht ziehen. Es bietet eine vereinfachte Datenaufnahme und Antwortzeiten im einstelligen Millisekundenbereich für Analysen in Echtzeit. [Erfahren](https://docs.aws.amazon.com//timestream/latest/developerguide/timestream-for-influxdb.html) Sie hier mehr.

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

# Verwenden von UNLOAD zum Exportieren von Abfrageergebnissen aus Timestream nach S3 für LiveAnalytics
<a name="export-unload"></a>

Amazon Timestream ermöglicht es Ihnen LiveAnalytics vorerst, Ihre Abfrageergebnisse mithilfe des `UNLOAD` Kontoauszugs kostengünstig und sicher nach Amazon S3 zu exportieren. Mithilfe der `UNLOAD` Anweisung können Sie nun Zeitreihendaten in ausgewählte S3-Buckets entweder im Apache Parquet- oder CSV-Format (Comma Separated Values) exportieren. Dies bietet Flexibilität beim Speichern, Kombinieren und Analysieren Ihrer Zeitreihendaten mit anderen Services. Die `UNLOAD` Anweisung ermöglicht es Ihnen, die Daten komprimiert zu exportieren, wodurch die übertragenen Daten und der benötigte Speicherplatz reduziert werden. `UNLOAD`unterstützt auch die Partitionierung auf der Grundlage ausgewählter Attribute beim Exportieren der Daten, wodurch die Leistung verbessert und die Verarbeitungszeit nachgelagerter Dienste, die auf die Daten zugreifen, reduziert wird. Darüber hinaus können Sie verwaltete Schlüssel von Amazon S3 (SSE-S3) oder verwaltete Schlüssel (KMS) von AWS Key Management Service (AWS SSE-KMS) verwenden, um Ihre exportierten Daten zu verschlüsseln.

## Vorteile von UNLOAD von Timestream für LiveAnalytics
<a name="export-unload-benefits"></a>

Die wichtigsten Vorteile der Verwendung der `UNLOAD` Anweisung sind wie folgt.
+ **Einfache Bedienung** — Mit der `UNLOAD` Anweisung können Sie Gigabytes an Daten in einer einzigen Abfrageanforderung entweder im Apache Parquet- oder CSV-Format exportieren. Dies bietet Flexibilität bei der Auswahl des für Ihre nachgelagerten Verarbeitungsanforderungen am besten geeigneten Formats und erleichtert die Erstellung von Data Lakes.
+ **Sicher und kostengünstig** — `UNLOAD` Statement bietet die Möglichkeit, Ihre Daten komprimiert in einen S3-Bucket zu exportieren und Ihre Daten mithilfe von kundenverwalteten Schlüsseln zu verschlüsseln (SSE-KMS oder SSE\$1S3), wodurch die Datenspeicherkosten gesenkt und vor unbefugtem Zugriff geschützt werden.
+ **Leistung** — Mithilfe der `UNLOAD` Anweisung können Sie die Daten partitionieren, wenn Sie sie in einen S3-Bucket exportieren. Durch die Partitionierung der Daten können nachgelagerte Dienste die Daten parallel verarbeiten, wodurch ihre Verarbeitungszeit reduziert wird. Darüber hinaus können nachgelagerte Dienste nur die Daten verarbeiten, die sie benötigen, wodurch die erforderlichen Verarbeitungsressourcen und damit die damit verbundenen Kosten reduziert werden.

## Anwendungsfälle für UNLOAD von Timestream für LiveAnalytics
<a name="export-unload-use-cases"></a>

Sie können die `UNLOAD` Anweisung verwenden, um Daten wie folgt in Ihren S3-Bucket zu schreiben.
+ **Data Warehouse erstellen** — Sie können Gigabytes an Abfrageergebnissen in den S3-Bucket exportieren und Ihrem Data Lake einfacher Zeitreihendaten hinzufügen. Sie können Dienste wie Amazon Athena und Amazon Redshift verwenden, um Ihre Zeitreihendaten mit anderen relevanten Daten zu kombinieren, um komplexe Geschäftseinblicke abzuleiten. 
+ **KI- und ML-Daten-Pipelines erstellen** — Die `UNLOAD` Erklärung ermöglicht es Ihnen, auf einfache Weise Daten-Pipelines für Ihre Machine-Learning-Modelle zu erstellen, die auf Zeitreihendaten zugreifen, was die Verwendung von Zeitreihendaten mit Diensten wie Amazon SageMaker und Amazon EMR erleichtert.
+ **Vereinfachen Sie die ETL-Verarbeitung** — Der Export von Daten in S3-Buckets kann die Durchführung von ETL-Vorgängen (Extract, Transform, Load) für die Daten vereinfachen, sodass Sie Tools oder AWS Dienste von Drittanbietern wie AWS Glue nahtlos zur Verarbeitung und Transformation der Daten verwenden können.

# UNLOAD-Konzepte
<a name="export-unload-concepts"></a>

## Syntax
<a name="export-unload-concepts-syntax"></a>

```
UNLOAD (SELECT statement)
 TO 's3://bucket-name/folder'
 WITH ( option = expression [, ...] )
```

wo ist `option`

```
{ partitioned_by = ARRAY[ col_name[,…] ] 
 | format = [ '{ CSV | PARQUET }' ] 
 | compression = [ '{ GZIP | NONE }' ]
 | encryption = [ '{ SSE_KMS | SSE_S3 }' ]
 | kms_key = '<string>'
 | field_delimiter ='<character>'
 | escaped_by = '<character>'
 | include_header = ['{true, false}']
 | max_file_size = '<value>'
 | }
```

## Parameters
<a name="export-unload-concepts-parameters"></a>

SELECT-Anweisung  
Die Abfrageanweisung, die verwendet wird, um Daten aus einem oder mehreren Timestreams für LiveAnalytics Tabellen auszuwählen und abzurufen.   

```
(SELECT column 1, column 2, column 3 from database.table
      where measure_name = "ABC" and timestamp between ago (1d) and now() )
```

TO-Klausel  

```
TO 's3://bucket-name/folder'
```
oder  

```
TO 's3://access-point-alias/folder'
```
Die `TO` Klausel in der `UNLOAD` Anweisung gibt das Ziel für die Ausgabe der Abfrageergebnisse an. Sie müssen den vollständigen Pfad angeben, einschließlich entweder des Amazon S3-Bucket-Namens oder Amazon S3 access-point-alias mit dem Speicherort des Ordners auf Amazon S3, in den Timestream for die LiveAnalytics Ausgabedateiobjekte schreibt. Der S3-Bucket sollte demselben Konto gehören und sich in derselben Region befinden. Zusätzlich zum Abfrageergebnissatz LiveAnalytics schreibt Timestream for die Manifest- und Metadatendateien in den angegebenen Zielordner. 

PARTITIONED\$1BY-Klausel  

```
partitioned_by = ARRAY [col_name[,…] , (default: none)
```
Die `partitioned_by` Klausel wird in Abfragen verwendet, um Daten auf granularer Ebene zu gruppieren und zu analysieren. Wenn Sie Ihre Abfrageergebnisse in den S3-Bucket exportieren, können Sie wählen, ob Sie die Daten auf der Grundlage einer oder mehrerer Spalten in der Auswahlabfrage partitionieren möchten. Bei der Partitionierung der Daten werden die exportierten Daten basierend auf der Partitionsspalte in Teilmengen unterteilt, und jede Teilmenge wird in einem separaten Ordner gespeichert. Innerhalb des Ergebnisordners, der Ihre exportierten Daten enthält, wird automatisch ein Unterordner erstellt`folder/results/partition column = partition value/`. Beachten Sie jedoch, dass partitionierte Spalten nicht in der Ausgabedatei enthalten sind.   
`partitioned_by`ist keine obligatorische Klausel in der Syntax. Wenn Sie die Daten ohne Partitionierung exportieren möchten, können Sie die Klausel in der Syntax ausschließen.   

**Example**  
Angenommen, Sie überwachen die Clickstream-Daten Ihrer Website und haben 5 Verkehrskanäle`direct`, nämlich, `Social Media` `Organic Search``Other`, und. `Referral` Beim Exportieren der Daten können Sie wählen, ob Sie die Daten mithilfe der Spalte `Channel` partitionieren möchten. In Ihrem Datenordner befinden sich fünf Ordner mit jeweils ihrem jeweiligen Kanalnamen. `s3://bucketname/results/channel=Social Media/.` In diesem Ordner finden Sie beispielsweise die Daten aller Kunden, die über den `Social Media` Kanal auf Ihre Website gelangt sind. `s3://bucketname/results` In ähnlicher Weise werden Sie andere Ordner für die verbleibenden Kanäle haben.
Exportierte Daten, partitioniert nach Kanalspalten  

![\[Folder structure showing channels: Direct, Organic search, Other, Referral, and Social media.\]](http://docs.aws.amazon.com/de_de/timestream/latest/developerguide/images/unload-results.png)


FORMAT  

```
format = [ '{ CSV | PARQUET }' , default: CSV
```
Die Schlüsselwörter zur Angabe des Formats der Abfrageergebnisse, die in Ihren S3-Bucket geschrieben werden. Sie können die Daten entweder als kommagetrennten Wert (CSV) mit einem Komma (,) als Standardtrennzeichen oder im Apache Parquet-Format, einem effizienten offenen spaltenbasierten Speicherformat für Analysen, exportieren. 

KOMPRESSION  

```
compression = [ '{ GZIP | NONE }' ], default: GZIP
```
Sie können die exportierten Daten mit dem Komprimierungsalgorithmus GZIP komprimieren oder sie dekomprimieren lassen, indem Sie die `NONE` Option angeben.

ENCRYPTION  

```
encryption = [ '{ SSE_KMS | SSE_S3 }' ], default: SSE_S3
```
Die Ausgabedateien auf Amazon S3 werden mit der von Ihnen ausgewählten Verschlüsselungsoption verschlüsselt. Zusätzlich zu Ihren Daten werden auch die Manifest- und Metadatendateien auf der Grundlage der von Ihnen ausgewählten Verschlüsselungsoption verschlüsselt. Wir unterstützen derzeit die SSE\$1S3- und SSE\$1KMS-Verschlüsselung. SSE\$1S3 ist eine serverseitige Verschlüsselung, bei der Amazon S3 die Daten mithilfe der 256-Bit-AES-Verschlüsselung (Advanced Encryption Standard) verschlüsselt. SSE\$1KMS ist eine serverseitige Verschlüsselung zur Verschlüsselung von Daten mit vom Kunden verwalteten Schlüsseln.

KMS\$1KEY  

```
kms_key = '<string>'
```
KMS Key ist ein kundendefinierter Schlüssel zum Verschlüsseln exportierter Abfrageergebnisse. KMS Key wird sicher vom AWS Key Management Service (AWS KMS) verwaltet und zur Verschlüsselung von Datendateien auf Amazon S3 verwendet.

FIELD\$1DELIMITER  

```
field_delimiter ='<character>' , default: (,)
```
Beim Exportieren der Daten im CSV-Format gibt dieses Feld ein einzelnes ASCII-Zeichen an, das zur Trennung von Feldern in der Ausgabedatei verwendet wird, z. B. ein senkrechter Strich (\$1), ein Komma (,) oder ein Tabulatorzeichen (/t). Das Standardtrennzeichen für CSV-Dateien ist ein Kommazeichen. Wenn ein Wert in Ihren Daten das gewählte Trennzeichen enthält, wird das Trennzeichen mit einem Anführungszeichen in Anführungszeichen gesetzt. Wenn der Wert in Ihren Daten beispielsweise Folgendes enthält`Time,stream`, wird dieser Wert wie in den exportierten Daten `"Time,stream"` in Anführungszeichen gesetzt. Das von Timestream für verwendete Anführungszeichen LiveAnalytics sind doppelte Anführungszeichen („).  
Vermeiden Sie es, das Wagenrücklaufzeichen (ASCII 13, Hex`0D`, Text '\$1 r') oder das Zeilenumbruchzeichen (ASCII 10, HEX 0A, Text '\$1n') anzugeben, `FIELD_DELIMITER` wenn Sie Header in die CSV aufnehmen möchten, da dies viele Parser daran hindert, die Header in der resultierenden CSV-Ausgabe korrekt zu analysieren.

ESCAPED\$1BY  

```
escaped_by = '<character>', default: (\)
```
Beim Exportieren der Daten im CSV-Format gibt dieses Feld das Zeichen an, das in der in den S3-Bucket geschriebenen Datendatei als Escape-Zeichen behandelt werden soll. Escaping findet in den folgenden Szenarien statt:  

1. Wenn der Wert selbst das Anführungszeichen („) enthält, wird er mit einem Escape-Zeichen maskiert. Wenn der Wert beispielsweise lautet`Time"stream`, wobei (\$1) das konfigurierte Escape-Zeichen ist, dann wird er als maskiert`Time\"stream`. 

1. Wenn der Wert das konfigurierte Escape-Zeichen enthält, wird es maskiert. Wenn der Wert beispielsweise ist`Time\stream`, wird er als maskiert`Time\\stream`. 
Wenn die exportierte Ausgabe komplexe Datentypen wie Arrays, Zeilen oder Zeitreihen enthält, wird sie als JSON-Zeichenfolge serialisiert. Im Folgenden sehen Sie ein Beispiel.    
[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/de_de/timestream/latest/developerguide/export-unload-concepts.html)

INCLUDE\$1HEADER  

```
include_header = 'true' , default: 'false'
```
Wenn Sie die Daten im CSV-Format exportieren, können Sie in diesem Feld Spaltennamen als erste Zeile der exportierten CSV-Datendateien angeben.  
Die akzeptierten Werte sind „wahr“ und „falsch“ und der Standardwert ist „falsch“. Optionen zur Texttransformation, wie z. B. `escaped_by` und, `field_delimiter` gelten auch für Überschriften.  
Beim Einbeziehen von Kopfzeilen ist es wichtig, dass Sie kein Wagenrücklaufzeichen (ASCII 13, Hex 0D, Text '\$1 r') oder ein Zeilenumbruchzeichen (ASCII 10, Hex 0A, Text '\$1n') als 'auswählen, da dies viele Parser daran hindert`FIELD_DELIMITER`, die Header in der resultierenden CSV-Ausgabe korrekt zu analysieren.

MAX\$1FILE\$1SIZE  

```
max_file_size = 'X[MB|GB]' , default: '78GB'
```
Dieses Feld gibt die maximale Größe der Dateien an, die die `UNLOAD` Anweisung in Amazon S3 erstellt. Die `UNLOAD` Anweisung kann mehrere Dateien erstellen, aber die maximale Größe jeder in Amazon S3 geschriebenen Datei entspricht ungefähr der in diesem Feld angegebenen Größe.  
Der Wert des Felds muss zwischen 16 MB und einschließlich 78 GB liegen. Sie können ihn als Ganzzahl wie `12GB` oder in Dezimalzahlen wie `0.5GB` oder angeben. `24.7MB` Der Standardwert ist 78 GB.  
Die tatsächliche Dateigröße wird ungefähr angegeben, wenn die Datei geschrieben wird, sodass die tatsächliche Maximalgröße möglicherweise nicht exakt der von Ihnen angegebenen Zahl entspricht.

## Was wird in meinen S3-Bucket geschrieben?
<a name="export-unload-common-questions-what-is-written"></a>

Für jede erfolgreich ausgeführte UNLOAD-Abfrage LiveAnalytics schreibt Timestream for Ihre Abfrageergebnisse, die Metadatendatei und die Manifestdatei in den S3-Bucket. Wenn Sie die Daten partitioniert haben, befinden sich alle Partitionsordner im Ergebnisordner. Die Manifestdatei enthält eine Liste der Dateien, die mit dem Befehl UNLOAD geschrieben wurden. Die Metadatendatei enthält Informationen, die die Merkmale, Eigenschaften und Attribute der geschriebenen Daten beschreiben. 

## Wie lautet der Name der exportierten Datei?
<a name="export-unload-common-questions-what-is-filename"></a>

Der Name der exportierten Datei enthält zwei Komponenten, die erste Komponente ist die QueryID und die zweite Komponente ist eine eindeutige Kennung.

CSV-Dateien

```
S3://bucket_name/results/<queryid>_<UUID>.csv
S3://bucket_name/results/<partitioncolumn>=<partitionvalue>/<queryid>_<UUID>.csv
```

Komprimierte CSV-Datei

```
S3://bucket_name/results/<partitioncolumn>=<partitionvalue>/<queryid>_<UUID>.gz 
```

Parquet-Datei

```
S3://bucket_name/results/<partitioncolumn>=<partitionvalue>/<queryid>_<UUID>.parquet
```

Metadaten und Manifestdateien

```
S3://bucket_name/<queryid>_<UUID>_manifest.json 
S3://bucket_name/<queryid>_<UUID>_metadata.json
```

Da die Daten im CSV-Format auf Dateiebene gespeichert werden, hat die Datei beim Komprimieren der Daten beim Exportieren nach S3 die Erweiterung „.gz“. Die Daten in Parquet werden jedoch auf Spaltenebene komprimiert. Selbst wenn Sie die Daten beim Exportieren komprimieren, hat die Datei immer noch die Erweiterung.parquet.

## Welche Informationen enthält jede Datei?
<a name="export-unload-common-questions-what-information"></a>

### Manifestdatei
<a name="export-unload-common-questions-what-information-manifest"></a>

Die Manifestdatei enthält Informationen zur Liste der Dateien, die mit der UNLOAD-Ausführung exportiert werden. Die Manifestdatei ist im bereitgestellten S3-Bucket mit einem Dateinamen verfügbar:`s3://<bucket_name>/<queryid>_<UUID>_manifest.json`. Die Manifestdatei enthält die URL der Dateien im Ergebnisordner, die Anzahl der Datensätze und die Größe der jeweiligen Dateien sowie die Abfrage-Metadaten (d. h. die Gesamtzahl der Byte und der Gesamtzahl der Zeilen, die für die Abfrage nach S3 exportiert wurden). 

```
{
  "result_files": [
    {
        "url":"s3://my_timestream_unloads/ec2_metrics/AEDAGANLHLBH4OLISD3CVOZZRWPX5GV2XCXRBKCVD554N6GWPWWXBP7LSG74V2Q_1448466917_szCL4YgVYzGXj2lS.gz", 
        "file_metadata": 
            { 
                "content_length_in_bytes": 32295, 
                "row_count": 10 
            }
    },
    {
        "url":"s3://my_timestream_unloads/ec2_metrics/AEDAGANLHLBH4OLISD3CVOZZRWPX5GV2XCXRBKCVD554N6GWPWWXBP7LSG74V2Q_1448466917_szCL4YgVYzGXj2lS.gz", 
        "file_metadata": 
            { 
                "content_length_in_bytes": 62295, 
                "row_count": 20 
            }
    },
  ],
  "query_metadata": 
    {
      "content_length_in_bytes": 94590, 
      "total_row_count": 30,
      "result_format": "CSV",
      "result_version": "Amazon Timestream version 1.0.0"  
    },
  "author": {
        "name": "Amazon Timestream", 
        "manifest_file_version": "1.0" 
  }
}
```

### Metadaten
<a name="export-unload-common-questions-what-information-metadata"></a>

Die Metadatendatei enthält zusätzliche Informationen über den Datensatz, z. B. Spaltenname, Spaltentyp und Schema. <queryid><UUID>Die Metadatendatei ist im bereitgestellten S3-Bucket mit dem folgenden Dateinamen verfügbar: S3: //bucket\$1name/ \$1 \$1metadata.json 

Es folgt ein Beispiel für eine Metadatendatei.

```
{
    "ColumnInfo": [
        {
            "Name": "hostname",
            "Type": {
                "ScalarType": "VARCHAR"
            }
        },
        {
            "Name": "region",
            "Type": {
                "ScalarType": "VARCHAR"
            }
        },
        {
            "Name": "measure_name",
            "Type": {
                "ScalarType": "VARCHAR"
            }
        },
        {
            "Name": "cpu_utilization",
            "Type": {
                "TimeSeriesMeasureValueColumnInfo": {
                    "Type": {
                        "ScalarType": "DOUBLE"
                    }
                }
            }
        }
  ],
  "Author": {
        "Name": "Amazon Timestream", 
        "MetadataFileVersion": "1.0" 
  }
}
```

Die in der Metadatendatei gemeinsam genutzten Spalteninformationen haben dieselbe Struktur wie die in der Abfrage-API-Antwort für `SELECT` Abfragen `ColumnInfo` gesendeten Informationen. 

### Ergebnisse
<a name="export-unload-common-questions-what-information-results"></a>

Der Ergebnisordner enthält Ihre exportierten Daten entweder im Apache Parquet- oder CSV-Format. 

## Beispiel
<a name="export-unload-example-short"></a>

Wenn Sie eine `UNLOAD` Anfrage wie unten über die Abfrage-API einreichen,

```
UNLOAD(SELECT user_id, ip_address, event, session_id, measure_name, time, query, quantity, product_id, channel 
                    FROM sample_clickstream.sample_shopping WHERE time BETWEEN ago(2d) AND now()) 
                TO 's3://my_timestream_unloads/withoutpartition/' WITH ( format='CSV', compression='GZIP')
```

`UNLOAD`Die Abfrageantwort wird 1 Zeile x 3 Spalten haben. Diese 3 Spalten sind:
+ Zeilen des Typs BIGINT — gibt die Anzahl der exportierten Zeilen an
+ MetadataFile vom Typ VARCHAR — das ist der S3-URI der exportierten Metadatendatei
+ ManifestFile vom Typ VARCHAR — das ist der S3-URI der exportierten Manifestdatei

Sie erhalten die folgende Antwort von der Query API:

```
{
    "Rows": [
        {
            "Data": [
                {
                    "ScalarValue": "20" # No of rows in output across all files
                },
                {
                    "ScalarValue": "s3://my_timestream_unloads/withoutpartition/AEDAAANGH3D7FYHOBQGQQMEAISCJ45B42OWWJMOT4N6RRJICZUA7R25VYVOHJIY_<UUID>_metadata.json" #Metadata file
                },
                {
                    "ScalarValue": "s3://my_timestream_unloads/withoutpartition/AEDAAANGH3D7FYHOBQGQQMEAISCJ45B42OWWJMOT4N6RRJICZUA7R25VYVOHJIY_<UUID>_manifest.json" #Manifest file
                }
            ]
        }
    ],
    "ColumnInfo": [
        {
            "Name": "rows",
            "Type": {
                "ScalarType": "BIGINT"
            }
        },
        {
            "Name": "metadataFile",
            "Type": {
                "ScalarType": "VARCHAR"
            }
        },
        {
            "Name": "manifestFile",
            "Type": {
                "ScalarType": "VARCHAR"
            }
        }
    ],
    "QueryId": "AEDAAANGH3D7FYHOBQGQQMEAISCJ45B42OWWJMOT4N6RRJICZUA7R25VYVOHJIY",
    "QueryStatus": {
        "ProgressPercentage": 100.0,
        "CumulativeBytesScanned": 1000,
        "CumulativeBytesMetered": 10000000
    }
}
```

## Datentypen
<a name="export-unload-data-types-explanation"></a>

Die `UNLOAD` Anweisung unterstützt alle Datentypen der Abfragesprache von Timestream for LiveAnalytics, die unter beschrieben sind, [Unterstützte Datentypen](supported-data-types.md) außer `time` und`unknown`.

# Voraussetzungen für UNLOAD from Timestream für LiveAnalytics
<a name="export-unload-prerequisites"></a>

Im Folgenden finden Sie die Voraussetzungen für das Schreiben von Daten in S3 mithilfe `UNLOAD` von Timestream for. LiveAnalytics
+ Sie müssen berechtigt sein, Daten aus dem Timestream zu lesen, damit LiveAnalytics Tabellen in einem `UNLOAD` Befehl verwendet werden können.
+ Sie müssen einen Amazon S3 S3-Bucket in derselben AWS Region wie Ihr Timestream für LiveAnalytics Ressourcen haben.
+ Stellen Sie für den ausgewählten S3-Bucket sicher, dass die [S3-Bucket-Richtlinie](https://docs.aws.amazon.com/AmazonS3/latest/userguide/example-bucket-policies.html) auch über Berechtigungen verfügt, damit Timestream LiveAnalytics die Daten exportieren kann.
+ Die für die Ausführung der `UNLOAD` Abfrage verwendeten Anmeldeinformationen müssen über die erforderlichen AWS Identity and Access Management (IAM) -Berechtigungen verfügen, die es Timestream for ermöglichen, die Daten in S3 LiveAnalytics zu schreiben. Ein Beispiel für eine Richtlinie wäre wie folgt:

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [{
            "Effect": "Allow",
            "Action": [
                "timestream:Select",
                "timestream:ListMeasures",
                "timestream:WriteRecords",
                "timestream:Unload"
            ],
            "Resource": "arn:aws:timestream:us-east-2:111122223333:database/database_name/table/table_name"
        },
        {
            "Effect": "Allow",
            "Action": [
                "s3:GetBucketAcl",
                "s3:PutObject",
                "s3:GetObject",
                "s3:AbortMultipartUpload"
            ],
            "Resource": [
                "arn:aws:s3:::S3_Bucket_Created",
                "arn:aws:s3:::S3_Bucket_Created/*"
            ]
        }
    ]
}
```

------

Weitere Informationen zu diesen S3-Schreibberechtigungen finden Sie im [Amazon Simple Storage Service-Handbuch](https://docs.aws.amazon.com/AmazonS3/latest/userguide/mpuoverview.html#mpuAndPermissions). Wenn Sie einen KMS-Schlüssel zum Verschlüsseln der exportierten Daten verwenden, finden Sie im Folgenden die zusätzlichen erforderlichen IAM-Richtlinien.

------
#### [ JSON ]

****  

```
{
    "Version":"2012-10-17",		 	 	 
    "Statement": [
      {
        "Effect": "Allow",
        "Action": [
            "kms:DescribeKey",
            "kms:Decrypt",
            "kms:GenerateDataKey*"
        ],
        "Resource": "arn:aws:kms:us-east-2:111122223333:key/*",
        "Condition": {
            "ForAnyValue:StringLike": {
                "kms:ResourceAliases": "alias/Alias_For_Generated_Key"
            }
        }
    }, {
        "Effect": "Allow",
        "Action": [
            "kms:CreateGrant"
        ],
        "Resource": "arn:aws:kms:us-east-2:111122223333:key/*",
        "Condition": {
            "ForAnyValue:StringEquals": {
                "kms:EncryptionContextKeys": "aws:timestream:database_name"
            },
            "Bool": {
                "kms:GrantIsForAWSResource": true
            },
            "StringLike": {
                "kms:ViaService": "timestream.us-east-2.amazonaws.com"
            },
            "ForAnyValue:StringLike": {
                "kms:ResourceAliases": "alias/Alias_For_Generated_Key"
            }
        }
    }
]
}
```

------

# Bewährte Methoden für UNLOAD from Timestream für LiveAnalytics
<a name="export-unload-best-practices"></a>

Im Folgenden finden Sie bewährte Methoden für den Befehl UNLOAD.
+ Die Datenmenge, die mit dem `UNLOAD` Befehl in den S3-Bucket exportiert werden kann, ist unbegrenzt. Bei der Abfrage kommt es jedoch nach 60 Minuten zu einem Timeout, und wir empfehlen, nicht mehr als 60 GB an Daten in einer einzigen Abfrage zu exportieren. Wenn Sie mehr als 60 GB Daten exportieren müssen, teilen Sie den Job auf mehrere Abfragen auf.
+ Sie können zwar Tausende von Anfragen an S3 senden, um die Daten hochzuladen, es wird jedoch empfohlen, die Schreibvorgänge auf mehrere S3-Präfixe zu parallelisieren. [Die Dokumentation finden Sie hier.](https://docs.aws.amazon.com/AmazonS3/latest/userguide/optimizing-performance.html) Die S3-API-Aufrufrate könnte gedrosselt werden, wenn mehrere readers/writers auf denselben Ordner zugreifen. 
+ Angesichts der Beschränkung der S3-Schlüssellänge für die Definition eines Präfixes empfehlen wir, Bucket- und Ordnernamen innerhalb von 10 bis 15 Zeichen zu verwenden, insbesondere bei Verwendung `partitioned_by` von Klauseln. 
+ Wenn Sie für Abfragen, die die `UNLOAD` Anweisung enthalten, ein 4XX- oder 5XX-Zeichen erhalten, ist es möglich, dass Teilergebnisse in den S3-Bucket geschrieben werden. Timestream for löscht LiveAnalytics keine Daten aus Ihrem Bucket. Bevor Sie eine weitere `UNLOAD` Abfrage mit demselben S3-Ziel ausführen, empfehlen wir, die durch die fehlgeschlagene Abfrage erstellten Dateien manuell zu löschen. Sie können die Dateien, die durch eine fehlgeschlagene Abfrage geschrieben wurden, anhand der entsprechenden Informationen identifizieren`QueryExecutionId`. Bei fehlgeschlagenen Abfragen exportiert Timestream for LiveAnalytics keine Manifestdatei in den S3-Bucket. 
+ Timestream for LiveAnalytics verwendet einen mehrteiligen Upload, um Abfrageergebnisse nach S3 zu exportieren. Wenn Sie von Timestream 4XX oder 5XX für LiveAnalytics Abfragen erhalten, die eine UNLOAD-Anweisung enthalten, LiveAnalytics bricht Timestream for den mehrteiligen Upload nach besten Kräften ab, es ist jedoch möglich, dass einige unvollständige Teile zurückbleiben. [Daher empfehlen wir, eine auto Bereinigung unvollständiger mehrteiliger Uploads in Ihrem S3-Bucket einzurichten, indem Sie die hier aufgeführten Richtlinien befolgen.](https://aws.amazon.com/blogs/aws-cloud-financial-management/discovering-and-deleting-incomplete-multipart-uploads-to-lower-amazon-s3-costs/)

## Empfehlungen für den Zugriff auf die Daten im CSV-Format mithilfe des CSV-Parsers
<a name="export-unload-common-questions-what-information-recommendations-csv"></a>
+ CSV-Parser erlauben es Ihnen nicht, dasselbe Zeichen in Trennzeichen, Escape-Zeichen und Anführungszeichen zu verwenden.
+ Einige CSV-Parser können komplexe Datentypen wie Arrays nicht interpretieren. Wir empfehlen, diese mit dem JSON-Deserializer zu interpretieren. 

## Empfehlungen für den Zugriff auf die Daten im Parquet-Format
<a name="export-unload-common-questions-what-information-recommendations-parquet"></a>

1. Wenn Ihr Anwendungsfall die Unterstützung von UTF-8-Zeichen im Schema, auch bekannt als Spaltenname, erfordert, empfehlen wir die Verwendung der [Parquet-MR-Bibliothek](https://github.com/apache/parquet-mr).

1. Der Zeitstempel in Ihren Ergebnissen wird als 12-Byte-Ganzzahl () dargestellt INT96

1. Zeitreihen werden so dargestellt`array<row<time, value>>`, dass andere verschachtelte Strukturen entsprechende Datentypen verwenden, die im Parquet-Format unterstützt werden

## Verwendung der partition\$1by-Klausel
<a name="export-unload-best-practices-partition-by"></a>
+ Die im `partitioned_by` Feld verwendete Spalte sollte die letzte Spalte in der Auswahlabfrage sein. Wenn in dem `partitioned_by` Feld mehr als eine Spalte verwendet wird, sollten die Spalten die letzten Spalten in der Auswahlabfrage sein und sich in derselben Reihenfolge befinden, in der sie im `partition_by` Feld verwendet wurden.
+ Die Spaltenwerte, die zur Partitionierung der Daten (des `partitioned_by` Felds) verwendet werden, dürfen nur ASCII-Zeichen enthalten. Während Timestream for UTF-8-Zeichen in den Werten LiveAnalytics zulässt, unterstützt S3 nur ASCII-Zeichen als Objektschlüssel.

# Beispiel für einen Anwendungsfall für UNLOAD von Timestream für LiveAnalytics
<a name="export-unload-example-use-case"></a>

Angenommen, Sie überwachen die Sitzungsmetriken der Benutzer, die Zugriffsquellen und die Produktkäufe auf Ihrer E-Commerce-Website. Sie verwenden Timestream, LiveAnalytics um in Echtzeit Einblicke in Nutzerverhalten und Produktverkäufe zu gewinnen und Marketinganalysen für Verkehrskanäle (organische Suche, soziale Medien, direkter Traffic, bezahlte Kampagnen und andere) durchzuführen, die Kunden auf die Website lenken. 

**Topics**
+ [Exportieren der Daten ohne Partitionen](#export-unload-example-sample-1)
+ [Daten nach Kanälen partitionieren](#export-unload-example-sample-2)
+ [Daten nach Ereignis partitionieren](#export-unload-example-sample-3)
+ [Partitionierung der Daten sowohl nach Kanal als auch nach Ereignis](#export-unload-example-sample-4)
+ [Manifest- und Metadatendateien](#export-unload-example-manifest-metadata)
+ [Verwenden von Glue-Crawlern zum Erstellen des Glue-Datenkatalogs](#export-unload-example-using-glue-crawlers)

## Exportieren der Daten ohne Partitionen
<a name="export-unload-example-sample-1"></a>

Sie möchten Ihre Daten der letzten zwei Tage im CSV-Format exportieren.

```
UNLOAD(SELECT user_id, ip_address, event, session_id, measure_name, time, 
query, quantity, product_id, channel 
FROM sample_clickstream.sample_shopping 
WHERE time BETWEEN ago(2d) AND now())  
TO 's3://<bucket_name>/withoutpartition' 
WITH (  format='CSV',   
compression='GZIP')
```

## Daten nach Kanälen partitionieren
<a name="export-unload-example-sample-2"></a>

Sie möchten die Daten der letzten zwei Tage im CSV-Format exportieren, möchten aber die Daten aus jedem Verkehrskanal in einem separaten Ordner haben. Dazu müssen Sie die Daten mithilfe der `channel` Spalte partitionieren, wie im Folgenden gezeigt.

```
UNLOAD(SELECT user_id, ip_address, event, session_id, measure_name, time, 
query, quantity, product_id, channel 
FROM sample_clickstream.sample_shopping 
WHERE time BETWEEN ago(2d) AND now())  
TO 's3://<bucket_name>/partitionbychannel/' 
WITH (  
partitioned_by = ARRAY ['channel'], 
format='CSV',   
compression='GZIP')
```

## Daten nach Ereignis partitionieren
<a name="export-unload-example-sample-3"></a>

Sie möchten die Daten der letzten zwei Tage im CSV-Format exportieren, möchten aber die Daten für jedes Ereignis in einem separaten Ordner haben. Dazu müssen Sie die Daten mithilfe der `event` Spalte partitionieren, wie im Folgenden gezeigt.

```
UNLOAD(SELECT user_id, ip_address, channel, session_id, measure_name, time, 
query, quantity, product_id, event 
FROM sample_clickstream.sample_shopping 
WHERE time BETWEEN ago(2d) AND now())  
TO 's3://<bucket_name>/partitionbyevent/' 
WITH (  
partitioned_by = ARRAY ['event'], 
format='CSV',   
compression='GZIP')
```

## Partitionierung der Daten sowohl nach Kanal als auch nach Ereignis
<a name="export-unload-example-sample-4"></a>

Sie möchten die Daten der letzten beiden Tage im CSV-Format exportieren, möchten aber, dass die Daten für jeden Kanal und innerhalb des Kanals jedes Ereignis in einem separaten Ordner gespeichert werden. Dazu müssen Sie die Daten mit beiden `channel` `event` Spalten partitionieren, wie im Folgenden gezeigt.

```
UNLOAD(SELECT user_id, ip_address, session_id, measure_name, time, 
query, quantity, product_id, channel,event 
FROM sample_clickstream.sample_shopping 
WHERE time BETWEEN ago(2d) AND now())  
TO 's3://<bucket_name>/partitionbychannelevent/' 
WITH (  
partitioned_by = ARRAY ['channel','event'], 
format='CSV',   
compression='GZIP')
```

## Manifest- und Metadatendateien
<a name="export-unload-example-manifest-metadata"></a>

### Manifestdatei
<a name="export-unload-common-questions-what-information-manifest"></a>

Die Manifestdatei enthält Informationen zur Liste der Dateien, die mit der UNLOAD-Ausführung exportiert werden. Die Manifestdatei ist im bereitgestellten S3-Bucket mit einem Dateinamen verfügbar:`S3://bucket_name/<queryid>_<UUID>_manifest.json`. Die Manifestdatei enthält die URL der Dateien im Ergebnisordner, die Anzahl der Datensätze und die Größe der jeweiligen Dateien sowie die Abfrage-Metadaten (d. h. die Gesamtzahl der Byte und der Gesamtzahl der Zeilen, die für die Abfrage nach S3 exportiert wurden). 

```
{
  "result_files": [
    {
        "url":"s3://my_timestream_unloads/ec2_metrics/AEDAGANLHLBH4OLISD3CVOZZRWPX5GV2XCXRBKCVD554N6GWPWWXBP7LSG74V2Q_1448466917_szCL4YgVYzGXj2lS.gz", 
        "file_metadata": 
            { 
                "content_length_in_bytes": 32295, 
                "row_count": 10 
            }
    },
    {
        "url":"s3://my_timestream_unloads/ec2_metrics/AEDAGANLHLBH4OLISD3CVOZZRWPX5GV2XCXRBKCVD554N6GWPWWXBP7LSG74V2Q_1448466917_szCL4YgVYzGXj2lS.gz", 
        "file_metadata": 
            { 
                "content_length_in_bytes": 62295, 
                "row_count": 20 
            }
    },
  ],
  "query_metadata": 
    {
      "content_length_in_bytes": 94590, 
      "total_row_count": 30,
      "result_format": "CSV",
      "result_version": "Amazon Timestream version 1.0.0"  
    },
  "author": {
        "name": "Amazon Timestream", 
        "manifest_file_version": "1.0" 
  }
}
```

### Metadaten
<a name="export-unload-common-questions-what-information-metadata"></a>

Die Metadatendatei enthält zusätzliche Informationen über den Datensatz, z. B. Spaltenname, Spaltentyp und Schema. <queryid><UUID>Die Metadatendatei ist im bereitgestellten S3-Bucket mit dem folgenden Dateinamen verfügbar: S3: //bucket\$1name/ \$1 \$1metadata.json 

Es folgt ein Beispiel für eine Metadatendatei.

```
{
    "ColumnInfo": [
        {
            "Name": "hostname",
            "Type": {
                "ScalarType": "VARCHAR"
            }
        },
        {
            "Name": "region",
            "Type": {
                "ScalarType": "VARCHAR"
            }
        },
        {
            "Name": "measure_name",
            "Type": {
                "ScalarType": "VARCHAR"
            }
        },
        {
            "Name": "cpu_utilization",
            "Type": {
                "TimeSeriesMeasureValueColumnInfo": {
                    "Type": {
                        "ScalarType": "DOUBLE"
                    }
                }
            }
        }
  ],
  "Author": {
        "Name": "Amazon Timestream", 
        "MetadataFileVersion": "1.0" 
  }
}
```

Die in der Metadatendatei gemeinsam genutzten Spalteninformationen haben dieselbe Struktur wie die in der Abfrage-API-Antwort für `SELECT` Abfragen `ColumnInfo` gesendeten Informationen. 

## Verwenden von Glue-Crawlern zum Erstellen des Glue-Datenkatalogs
<a name="export-unload-example-using-glue-crawlers"></a>

1. Melden Sie sich für die folgende Überprüfung mit Admin-Anmeldeinformationen bei Ihrem Konto an.

1. Erstellen Sie eine Crawler for Glue-Datenbank anhand der [hier](https://docs.aws.amazon.com/glue/latest/ug/tutorial-add-crawler.html) angegebenen Richtlinien. Bitte beachten Sie, dass der S3-Ordner, der in der Datenquelle bereitgestellt werden soll, der `UNLOAD` Ergebnisordner sein sollte, z. B. `s3://my_timestream_unloads/results`

1. [Führen Sie den Crawler gemäß den hier angegebenen Richtlinien aus.](https://docs.aws.amazon.com/glue/latest/ug/tutorial-add-crawler.html#tutorial-add-crawler-step2)

1. Sehen Sie sich die Glue-Tabelle an.
   + Gehe zu **AWS Glue** → **Tabellen**.
   + Sie werden eine neue Tabelle sehen, die mit dem Tabellenpräfix erstellt wurde, das beim Erstellen des Crawlers angegeben wurde.
   + Sie können die Schema- und Partitionsinformationen einsehen, indem Sie auf die Tabellendetailansicht klicken.

Im Folgenden finden Sie weitere AWS Dienste und Open-Source-Projekte, die den AWS Glue-Datenkatalog verwenden.
+ **Amazon Athena** — Weitere Informationen finden Sie unter [Grundlegendes zu Tabellen, Datenbanken und Datenkatalogen](https://docs.aws.amazon.com/athena/latest/ug/understanding-tables-databases-and-the-data-catalog.html) im Amazon Athena Athena-Benutzerhandbuch.
+ **Amazon Redshift Spectrum** — Weitere Informationen finden Sie unter [Abfragen externer Daten mit Amazon Redshift Spectrum im Amazon Redshift](https://docs.aws.amazon.com/redshift/latest/dg/c-using-spectrum.html) Database Developer Guide.
+ **Amazon EMR** — Weitere Informationen finden Sie unter [Verwenden von ressourcenbasierten Richtlinien für den Zugriff von Amazon EMR auf den AWS Glue-Datenkatalog](https://docs.aws.amazon.com/emr/latest/ManagementGuide/emr-iam-roles-glue.html) im Amazon EMR Management Guide.
+ **AWS Glue Data Catalog Client für Apache Hive Metastore** — Weitere Informationen zu diesem GitHub Projekt finden Sie unter [AWS Glue Data Catalog Client für Apache Hive](https://github.com/awslabs/aws-glue-data-catalog-client-for-apache-hive-metastore) Metastore.

# Grenzwerte für UNLOAD aus Timestream für LiveAnalytics
<a name="export-unload-limits"></a>

Im Folgenden sind die Grenzwerte aufgeführt, die sich auf den `UNLOAD` Befehl beziehen.
+ Die Parallelität von Abfragen, die die `UNLOAD` Anweisung verwenden, beträgt 1 Abfrage pro Sekunde (QPS). Eine Überschreitung der Abfragerate kann zu einer Drosselung führen.
+ Abfragen, die `UNLOAD` eine Anweisung enthalten, können maximal 100 Partitionen pro Abfrage exportieren. Wir empfehlen, die eindeutige Anzahl der ausgewählten Spalte zu überprüfen, bevor Sie sie zur Partitionierung der exportierten Daten verwenden.
+ Bei Abfragen, die `UNLOAD` eine Anweisung enthalten, wird das Timeout nach 60 Minuten überschritten.
+ Die maximale Größe der Dateien, die die `UNLOAD` Anweisung in Amazon S3 erstellt, beträgt 78 GB.

Weitere Grenzwerte für Timestream für finden Sie LiveAnalytics unter [KontingenteStandardkontingente](ts-limits.md)