

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 sink, Anda membuat sink di SQL, lalu jalankan sink berbasis SQL di objek `StreamTableEnvironment`.

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.

## Sumber dan sink yang ditentukan pengguna
<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 [Sumber dan Tenggelam yang ditentukan pengguna](https://nightlies.apache.org/flink/flink-docs-release-1.19/docs/dev/table/sourcessinks/) di Dokumentasi Apache Flink.