このトピックでは、JDBC データテーブルの使用方法について説明します。
構文
CREATE TABLE tbName
USING jdbc2
OPTIONS(propertyName=propertyValue[,propertyName=propertyValue]*);
重要 上記の構文では、jdbc2 を使用しています。
設定パラメーター
パラメーター | 説明 | 必須 |
---|---|---|
url | データベースの URL。 | はい |
driver | データベース接続の確立に使用されるドライバー。 このパラメーターを "com.mysql.jdbc.Driver"eper.quorum":"a.b.c.d:2181"}' に設定できます。 | はい |
dbtable | データテーブルの名前。 | はい |
user | データベースへの接続に使用されるユーザー名。 | はい |
password | データベースへの接続に使用されるパスワード。 | はい |
batchsize | 一度にデータベースに更新されるデータの数。 このパラメーターは、データがデータベースに書き込まれるときに有効になります。 | いいえ |
isolationLevel | トランザクション分離レベル。 デフォルト値:READ_UNCOMMITTED。 | いいえ |
- トランザクション分離レベル
トランザクション分離レベル ダーティリード ノンリピータブルリード ファントムリード READ_UNCOMMITTED はい はい はい READ_COMMITTED いいえ はい はい REPEATABLE_READ いいえ いいえ はい SERIALIZABLE いいえ いいえ いいえ NONE - - -
テーブルスキーマ
JDBC データテーブルを作成するとき、データテーブルのフィールドを明示的に定義する必要はありません。 たとえば、有効なテーブル作成文を次に示します。
spark-sql> CREATE DATABASE IF NOT EXISTS default;
spark-sql> USE default;
spark-sql> DROP TABLE IF EXISTS rds_table_test;
spark-sql> CREATE TABLE rds_table_test
> USING jdbc2
> OPTIONS (
> url="jdbc:mysql://rm-bp11*********i7w9.mysql.rds.aliyuncs.com:3306/default? useSSL=true",
> driver="com.mysql.jdbc.Driver",
> dbtable="test",
> user="root",
> password="thisisapassword",
> batchsize="100",
> isolationLevel="NONE");
spark-sql> DESC rds_table_test;
id int NULL
name string NULL
Time taken: 0.413 seconds, Fetched 2 row(s)
データ書き込み
データベースへのデータの書き込み方法を表すには、次の追加の SQL 文を作成する必要があります。
spark-sql> SET streaming.query.${queryName}.sql=insert into `test` (`id`,`name`) values(?, ?) ;
spark-sql> SET ...
spark-sql> INSERT INTO rds_table_test SELECT ...