

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Konektor API tabel
<a name="how-table-connectors"></a>

Dalam model pemrograman Apache Flink, konektor adalah komponen yang digunakan aplikasi Anda untuk membaca atau menulis data dari sumber eksternal, seperti layanan lain AWS .

Dengan API Tabel Apache Flink, Anda dapat menggunakan tipe konektor berikut:
+ [Sumber API tabel](#how-table-connectors-source): Anda menggunakan konektor sumber API Tabel untuk membuat tabel dalam `TableEnvironment` Anda menggunakan panggilan API atau kueri SQL.
+ [Tabel API tenggelam](#how-table-connectors-sink): Anda menggunakan perintah SQL untuk menulis data tabel ke sumber eksternal seperti topik Amazon MSK atau bucket Amazon S3.

## Sumber API tabel
<a name="how-table-connectors-source"></a>

Anda membuat sumber tabel dari aliran data. Kode berikut membuat tabel dari topik Amazon MSK:

```
//create the table
    final FlinkKafkaConsumer<StockRecord> consumer = new FlinkKafkaConsumer<StockRecord>(kafkaTopic, new KafkaEventDeserializationSchema(), kafkaProperties);
    consumer.setStartFromEarliest();
    //Obtain stream
    DataStream<StockRecord> events = env.addSource(consumer);

    Table table = streamTableEnvironment.fromDataStream(events);
```

Untuk informasi selengkapnya tentang sumber tabel, lihat [Konektor Tabel & SQL di Dokumentasi](https://nightlies.apache.org/flink/flink-docs-release-1.19/docs/connectors/table/overview/) Apache Flink.

## Tabel API tenggelam
<a name="how-table-connectors-sink"></a>

Untuk menulis data tabel ke wastafel, Anda membuat wastafel di SQL, dan kemudian menjalankan SQL-based wastafel pada `StreamTableEnvironment` objek.

Contoh kode berikut mendemonstrasikan cara menulis data tabel ke sink Amazon S3:

```
final String s3Sink = "CREATE TABLE sink_table (" +
    "event_time TIMESTAMP," +
    "ticker STRING," +
    "price DOUBLE," +
    "dt STRING," +
    "hr STRING" +
    ")" +
    " PARTITIONED BY (ticker,dt,hr)" +
    " WITH" +
    "(" +
    " 'connector' = 'filesystem'," +
    " 'path' = '" + s3Path + "'," +
    " 'format' = 'json'" +
    ") ";

    //send to s3
    streamTableEnvironment.executeSql(s3Sink);
    filteredTable.executeInsert("sink_table");
```

 Anda dapat menggunakan `format` parameter untuk mengontrol format Managed Service untuk Apache Flink yang digunakan untuk menulis output ke wastafel. Untuk informasi tentang format, lihat [Konektor yang Didukung](https://nightlies.apache.org/flink/flink-docs-release-1.19/docs/connectors/table/overview/) di Dokumentasi Apache Flink.

## User-defined sumber dan wastafel
<a name="how-table-connectors-userdef"></a>

Anda dapat menggunakan konektor Apache Kafka yang ada untuk mengirim data ke dan dari layanan AWS lainnya, seperti Amazon MSK dan Amazon S3. Untuk berinteraksi dengan sumber data dan tujuan lainnya, Anda dapat menentukan sumber dan sink Anda sendiri. Untuk informasi selengkapnya, lihat [ User-defined Sumber dan Tenggelam di Dokumentasi](https://nightlies.apache.org/flink/flink-docs-release-1.19/docs/dev/table/sourcessinks/) Apache Flink.