📣新登場!TiDB Cloud BYOC、TiDB Cloud Filesystem、PostgreSQL-compatible TiDB Cloud Starter がパブリックプレビュー中。このページは自動翻訳されたものです。原文はこちらからご覧ください。

TiDB Cloud Lake への Avro のロード



Avro とは

Apache Avro™ はレコードデータ向けの代表的なシリアライズ形式であり、ストリーミングデータパイプラインで最初に選ばれる形式です。

Avro ファイルのロード

AVRO ファイルをロードする一般的な構文は次のとおりです。

COPY INTO [<database>.]<table_name> FROM { internalStage | externalStage | externalLocation } [ PATTERN = '<regex_pattern>' ] FILE_FORMAT = (TYPE = AVRO)

チュートリアル: リモート HTTP URL から TiDB Cloud Lake に Avro データをロードする

このチュートリアルでは、Avro スキーマを使用して TiDB Cloud Lake にテーブルを作成し、GitHub でホストされている .avro ファイルから HTTPS 経由で Avro データを直接ロードします。

ステップ 1: Avro スキーマを確認する

TiDB Cloud Lake にテーブルを作成する前に、まず使用する Avro スキーマを簡単に確認しましょう: userdata.avsc。このスキーマでは、User という名前のレコードが定義されており、13 個のフィールドがあります。大半は string 型で、int 型と float 型も含まれています。

{ "type": "record", "name": "User", "fields": [ {"name": "registration_dttm", "type": "string"}, {"name": "id", "type": "int"}, {"name": "first_name", "type": "string"}, {"name": "last_name", "type": "string"}, {"name": "email", "type": "string"}, {"name": "gender", "type": "string"}, {"name": "ip_address", "type": "string"}, {"name": "cc", "type": "string"}, {"name": "country", "type": "string"}, {"name": "birthdate", "type": "string"}, {"name": "salary", "type": "float"}, {"name": "title", "type": "string"}, {"name": "comments", "type": "string"} ] }

ステップ 2: TiDB Cloud Lake にテーブルを作成する

スキーマで定義された構造に一致するテーブルを作成します。

CREATE TABLE userdata ( registration_dttm STRING, id INT, first_name STRING, last_name STRING, email STRING, gender STRING, ip_address STRING, cc VARIANT, country STRING, birthdate STRING, salary FLOAT, title STRING, comments STRING );

ステップ 3: リモート HTTPS URL からデータをロードする

COPY INTO userdata FROM 'https://raw.githubusercontent.com/Teradata/kylo/master/samples/sample-data/avro/userdata1.avro' FILE_FORMAT = (type = avro);
┌────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐ │ File │ Rows_loaded │ Errors_seen │ First_error │ First_error_line │ ├──────────────────────────────────────────────────────────────┼─────────────┼─────────────┼──────────────────┼──────────────────┤ │ Teradata/kylo/master/samples/sample-data/avro/userdata1.avro │ 1000 │ 0 │ NULL │ NULL │ └────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────────┘

ステップ 4: データをクエリする

これで、インポートしたデータを確認できます。

SELECT id, first_name, email, salary FROM userdata LIMIT 5;
┌───────────────────────────────────────────────────────────────────────────────────┐ │ id │ first_name │ email │ salary │ ├─────────────────┼──────────────────┼──────────────────────────┼───────────────────┤ │ 1 │ Amanda │ ajordan0@com.com │ 49756.53 │ │ 2 │ Albert │ afreeman1@is.gd │ 150280.17 │ │ 3 │ Evelyn │ emorgan2@altervista.org │ 144972.52 │ │ 4 │ Denise │ driley3@gmpg.org │ 90263.05 │ │ 5 │ Carlos │ cburns4@miitbeian.gov.cn │ NULL │ └───────────────────────────────────────────────────────────────────────────────────┘

このページは役に立ちましたか?