メインコンテンツにスキップ
GitHubでこのページを編集する

データソースのインポートとエクスポート

superset cliを使用すると、データソースをYAMLから、またはYAMLにインポートおよびエクスポートできます。データソースにはデータベースが含まれます。データは次の階層で編成されている必要があります

├──databases
| ├──database_1
| | ├──table_1
| | | ├──columns
| | | | ├──column_1
| | | | ├──column_2
| | | | └──... (more columns)
| | | └──metrics
| | | ├──metric_1
| | | ├──metric_2
| | | └──... (more metrics)
| | └── ... (more tables)
| └── ... (more databases)

データソースをYAMLにエクスポートする

次のコマンドを実行することで、現在のデータソースを標準出力に出力できます

superset export_datasources

データソースをZIPファイルに保存するには、次のコマンドを実行します

superset export_datasources -f <filename>

デフォルトでは、デフォルト(null)値は省略されます。それらを含めるには、-dフラグを使用します。逆参照を含める場合(たとえば、テーブルが属するテーブルIDを含む列)、-bフラグを使用します。

または、UIを使用してデータソースをエクスポートすることもできます

  1. ソース -> データベースを開いて、単一または複数のデータベースに関連付けられているすべてのテーブルをエクスポートします。(1つ以上のテーブルの場合はテーブル
  2. エクスポートするアイテムを選択します。
  3. アクション -> YAMLにエクスポートをクリックします
  4. UIからエクスポートしたアイテムをインポートする場合は、その親要素の中にネストする必要があります。たとえば、データベースはデータベースの下にネストする必要があり、テーブルはデータベース要素の中にネストする必要があります。

YAMLインポートを使用してインポートできるすべてのフィールドの網羅的なリストを取得するには、次のコマンドを実行します

superset export_datasource_schema

念のため、逆参照を含めるには-bフラグを使用できます。

データソースのインポート

ZIPファイルからデータソースをインポートするには、次のコマンドを実行します

superset import_datasources -p <path / filename>

オプションのユーザー名フラグ-uは、データソースのインポートに使用されるユーザーを設定します。デフォルトは「admin」です。例:

superset import_datasources -p <path / filename> -u 'admin'

レガシーデータソースのインポート

Supersetの古いバージョンから現在のバージョンへ

Supersetバージョン4.x.xを使用して古いバージョン(2.x.xまたは3.x.x)からインポートする場合、インポートはコマンドlegacy_import_datasourcesとしてサポートされ、JSONまたはJSONのディレクトリが必要です。オプションは、再帰の場合は-r、ユーザーを指定する場合は-uです。オプションなしのレガシーインポートの例

superset legacy_import_datasources -p <path or filename>

Supersetの古いバージョンから古いバージョンへ

Supersetの古いバージョン(2.x.xおよび3.x.x)を使用する場合、コマンドはimport_datasourcesです。 ZIPファイルとYAMLファイルがサポートされており、それらを切り替えるには機能フラグVERSIONED_EXPORTが使用されます。 VERSIONED_EXPORTTrueの場合、import_datasourcesはZIPファイルを予期し、そうでない場合はYAMLを予期します。例:

superset import_datasources -p <path or filename>

VERSIONED_EXPORTFalseの場合、パスを指定すると、yamlまたはymlで終わるすべてのファイルが解析されます。追加のフラグを適用できます(たとえば、指定されたパスを再帰的に検索するため)

superset import_datasources -p <path> -r

同期フラグ-sは、指定された要素をファイルと同期するためのパラメーターを受け取ります。これはメタデータベースの内容を削除する可能性があるため、注意してください。例:

superset import_datasources -p <path / filename> -s columns,metrics

これは、Supersetメタデータベースの<path /filename>で見つかったすべてのデータソースのすべてのメトリックと列を同期します。つまり、YAMLで指定されていない列とメトリックは削除されます。テーブルを列、メトリックに追加する場合、それらも同期されます。

同期フラグ(-s)を指定しない場合、インポートはフィールドの追加と更新(上書き)のみを行います。たとえば、次のYAMLをファイルに保存し、import_datasourcesコマンドを実行することで、サンプルデータセットのテーブルrandom_time_seriesの列dsにverbose_nameを追加できます。

databases:
- database_name: main
tables:
- table_name: random_time_series
columns:
- column_name: ds
verbose_name: datetime