

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.

# Erstellen und Abfragen einer partitionierten Tabelle basierend auf Amazon-EMR-Protokollen
<a name="emr-create-table-partitioned"></a>

Diese Beispiele verwenden denselben Protokollspeicherort zum Erstellen einer Athena-Tabelle, die Tabelle wird aber partitioniert, und dann wird für jeden Protokollspeicherort eine Partition erstellt. Weitere Informationen finden Sie unter [Ihre Daten partitionieren](partitions.md).

Die folgende Abfrage erstellt die partitionierte Tabelle mit dem Namen `mypartitionedemrlogs`:

```
CREATE EXTERNAL TABLE `mypartitionedemrlogs`(
  `data` string COMMENT 'from deserializer')
 partitioned by (logtype string)
ROW FORMAT DELIMITED  
FIELDS TERMINATED BY '|'
LINES TERMINATED BY '\n'
STORED AS INPUTFORMAT 
  'org.apache.hadoop.mapred.TextInputFormat' 
OUTPUTFORMAT 
 'org.apache.hadoop.hive.ql.io.HiveIgnoreKeyTextOutputFormat'
LOCATION 's3://aws-logs-123456789012-us-west-2/elasticmapreduce/j-2ABCDE34F5GH6'
```

Die folgenden Abfrageanweisungen erstellen dann Tabellenpartitionen basierend auf Unterverzeichnissen für verschiedene Protokolltypen, die Amazon EMR in Amazon S3 erstellt:

```
ALTER TABLE mypartitionedemrlogs ADD
     PARTITION (logtype='containers')
     LOCATION 's3://aws-logs-123456789012-us-west-2/elasticmapreduce/j-2ABCDE34F5GH6/containers/'
```

```
ALTER TABLE mypartitionedemrlogs ADD
     PARTITION (logtype='hadoop-mapreduce')
     LOCATION 's3://aws-logs-123456789012-us-west-2/elasticmapreduce/j-2ABCDE34F5GH6/hadoop-mapreduce/'
```

```
ALTER TABLE mypartitionedemrlogs ADD
     PARTITION (logtype='hadoop-state-pusher')
     LOCATION 's3://aws-logs-123456789012-us-west-2/elasticmapreduce/j-2ABCDE34F5GH6/hadoop-state-pusher/'
```

```
ALTER TABLE mypartitionedemrlogs ADD
     PARTITION (logtype='node')
     LOCATION 's3://aws-logs-123456789012-us-west-2/elasticmapreduce/j-2ABCDE34F5GH6/node/'
```

```
ALTER TABLE mypartitionedemrlogs ADD
     PARTITION (logtype='steps')
     LOCATION 's3://aws-logs-123456789012-us-west-2/elasticmapreduce/j-2ABCDE34F5GH6/steps/'
```

Nachdem Sie die Partitionen erstellt haben, können Sie eine `SHOW PARTITIONS`-Abfrage in der Tabelle ausführen, um Folgendes zu bestätigen:

```
SHOW PARTITIONS mypartitionedemrlogs;
```

## Beispielabfragen
<a name="emr-example-queries-partitioned"></a>

In den folgenden Beispielen werden Abfragen für bestimmte Protokolleinträge veranschaulicht, die die anhand der obigen Beispiele erstellten Tabelle und Partitionen verwenden.

**Example – Abfrage der Protokolle von Anwendung application\$11561661818238\$10002 in der Container-Partition nach ERROR oder WARN**  

```
SELECT data,
        "$PATH"
FROM "default"."mypartitionedemrlogs"
WHERE logtype='containers'
        AND regexp_like("$PATH",'application_1561661818238_0002')
        AND regexp_like(data, 'ERROR|WARN') limit 100;
```

**Example – Abfrage der hadoop-Mapreduce-Partition nach Auftrag job\$11561661818238\$10004 und fehlgeschlagene Reduzierungen**  

```
SELECT data,
        "$PATH"
FROM "default"."mypartitionedemrlogs"
WHERE logtype='hadoop-mapreduce'
        AND regexp_like(data,'job_1561661818238_0004|Failed Reduces') limit 100;
```

**Example – Abfrage von Hive-Protokollen in der Knotenpartition nach Abfrage-ID 056e0609-33e1-4611-956c-7a31b42d2663**  

```
SELECT data,
        "$PATH"
FROM "default"."mypartitionedemrlogs"
WHERE logtype='node'
        AND regexp_like("$PATH",'hive')
        AND regexp_like(data,'056e0609-33e1-4611-956c-7a31b42d2663') limit 100;
```

**Example – Abfrage von resourcemanager-Protokollen in der Knotenpartition für die Anwendung 1567660019320\$10001\$101\$1000001**  

```
SELECT data,
        "$PATH"
FROM "default"."mypartitionedemrlogs"
WHERE logtype='node'
        AND regexp_like(data,'resourcemanager')
        AND regexp_like(data,'1567660019320_0001_01_000001') limit 100
```