

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.

# „Beim Lesen zusammenführen (MoR)“ Tabellenbeispiele erstellen
<a name="querying-hudi-merge-on-read-create-table-examples"></a>

Hudi erstellt zwei Tabellen im Metastore für MoR: eine Tabelle für Snapshot-Abfragen und eine Tabelle für leseoptimierte Abfragen. Beide Tabellen können abgefragt werden. In Hudi-Versionen vor 0.5.1 hatte die Tabelle für leseoptimierte Abfragen den Namen, den Sie beim Erstellen der Tabelle angegeben haben. Ab Hudi-Version 0.5.1 wird dem Tabellennamen standardmäßig ein `_ro` angehängt. Der Name der Tabelle für Snapshot-Abfragen ist der Name, den Sie mit angehängtem `_rt` angegeben haben.

## Nicht partitionierte Merge-on-Read (MoR)-Tabelle
<a name="querying-hudi-nonpartitioned-merge-on-read-table"></a>

Im folgenden Beispiel wird eine nicht partitionierte MoR-Tabelle in Athena für leseoptimierte Abfragen erstellt. Beachten Sie, dass leseoptimierte Abfragen das Eingabeformat `HoodieParquetInputFormat` verwenden.

```
CREATE EXTERNAL TABLE `nonpartition_mor`(
  `_hoodie_commit_time` string, 
  `_hoodie_commit_seqno` string, 
  `_hoodie_record_key` string, 
  `_hoodie_partition_path` string, 
  `_hoodie_file_name` string, 
  `event_id` string, 
  `event_time` string, 
  `event_name` string, 
  `event_guests` int, 
  `event_type` string)
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' 
STORED AS INPUTFORMAT 
  'org.apache.hudi.hadoop.HoodieParquetInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat' 
LOCATION
  's3://amzn-s3-demo-bucket/folder/nonpartition_mor/'
```

Im folgenden Beispiel wird eine nicht partitionierte MoR-Tabelle in Athena für Snapshot-Abfragen erstellt. Verwenden Sie für Snapshot-Abfragen das Eingabeformat `HoodieParquetRealtimeInputFormat`.

```
CREATE EXTERNAL TABLE `nonpartition_mor_rt`(
  `_hoodie_commit_time` string, 
  `_hoodie_commit_seqno` string, 
  `_hoodie_record_key` string, 
  `_hoodie_partition_path` string, 
  `_hoodie_file_name` string, 
  `event_id` string, 
  `event_time` string, 
  `event_name` string, 
  `event_guests` int, 
  `event_type` string)
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' 
STORED AS INPUTFORMAT 
  'org.apache.hudi.hadoop.realtime.HoodieParquetRealtimeInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat' 
LOCATION
  's3://amzn-s3-demo-bucket/folder/nonpartition_mor/'
```

## Partitionierte Merge-on-Read-(MoR)-Tabelle
<a name="querying-hudi-partitioned-merge-on-read-table"></a>

Im folgenden Beispiel wird eine partitionierte MoR-Tabelle in Athena für leseoptimierte Abfragen erstellt.

```
CREATE EXTERNAL TABLE `partition_mor`(
  `_hoodie_commit_time` string, 
  `_hoodie_commit_seqno` string, 
  `_hoodie_record_key` string, 
  `_hoodie_partition_path` string, 
  `_hoodie_file_name` string, 
  `event_id` string, 
  `event_time` string, 
  `event_name` string, 
  `event_guests` int)
PARTITIONED BY ( 
  `event_type` string)
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe' 
STORED AS INPUTFORMAT 
  'org.apache.hudi.hadoop.HoodieParquetInputFormat' 
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION
  's3://amzn-s3-demo-bucket/folder/partition_mor/'
```

Im folgenden `ALTER TABLE ADD PARTITION`-Beispiel werden der `partition_mor`-Beispieltabelle zwei Partitionen hinzugefügt.

```
ALTER TABLE partition_mor ADD
  PARTITION (event_type = 'one') LOCATION 's3://amzn-s3-demo-bucket/folder/partition_mor/one/'
  PARTITION (event_type = 'two') LOCATION 's3://amzn-s3-demo-bucket/folder/partition_mor/two/'
```

Im folgenden Beispiel wird eine partitionierte MoR-Tabelle in Athena für Snapshot-Abfragen erstellt.

```
CREATE EXTERNAL TABLE `partition_mor_rt`(
  `_hoodie_commit_time` string, 
  `_hoodie_commit_seqno` string, 
  `_hoodie_record_key` string, 
  `_hoodie_partition_path` string, 
  `_hoodie_file_name` string, 
  `event_id` string, 
  `event_time` string, 
  `event_name` string, 
  `event_guests` int)
PARTITIONED BY ( 
  `event_type` string)
ROW FORMAT SERDE 
  'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
STORED AS INPUTFORMAT 
  'org.apache.hudi.hadoop.realtime.HoodieParquetRealtimeInputFormat'
OUTPUTFORMAT 
  'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION
  's3://amzn-s3-demo-bucket/folder/partition_mor/'
```

Ebenso werden im folgenden `ALTER TABLE ADD PARTITION`-Beispiel der `partition_mor_rt`-Beispieltabelle zwei Partitionen hinzugefügt.

```
ALTER TABLE partition_mor_rt ADD
  PARTITION (event_type = 'one') LOCATION 's3://amzn-s3-demo-bucket/folder/partition_mor/one/'
  PARTITION (event_type = 'two') LOCATION 's3://amzn-s3-demo-bucket/folder/partition_mor/two/'
```