Navicatブログ

よりスマートなインポート:Parquet対応と新しいインポートウィザード Oct 23, 2026 by Robert Gravelle

データが、きれいに統一された単一の形式で届くことはほとんどありません。取引先からCSVのエクスポートファイルが送られてくることもあれば、社内APIがJSON形式でアクティビティを記録し、分析パイプラインがParquet形式で出力することもあります。従来、これらをひとつのテーブルにまとめるには、形式ごとに別々に取り込んだうえで、自分で整合性を取る必要がありました。Navicat 18で刷新されたインポートウィザードは、まさにこの課題に対応するためのものです。ここでは、MySQLのサンプルデータベース「classicmodels」をもとに作成した3つの異なる形式のファイルを、ひとつのテーブルに統合する手順を紹介します。

Parquetが対応形式に追加

Parquetが、インポートウィザードの既存の対応形式(CSV、JSON、XML、Excel、DBaseなど)に加わり、ソース形式として選択できるようになりました。特にデータエンジニアリングでは、これは重要な改善です。ParquetはSparkやPandas、多くのクラウドデータウェアハウスでデフォルトの出力形式として使われており、事前に変換せず、そのままテーブルへ取り込めるようになったことで、これまで不足していた機能が補われました。

ひとつの画面で複数のソースとテーブルを管理

さらに大きく変わったのは、ウィザードの構成です。ファイルごとにウィザードを実行する代わりに、新しい[ソースファイルとターゲットテーブル]画面では、形式の異なる複数のソースを一度に追加し、それぞれにターゲットテーブルを個別に割り当てることができます。2つのファイルを同じターゲットに割り当てると、個別にインポートを繰り返すことなく、両方のデータがひとつのテーブルに統合されます。

実践:3つの形式をひとつのテーブルに統合

地域ごとに分かれた3つの顧客ファイルがあるとします。ヨーロッパ向けのJSONファイル、南北アメリカ向けのCSVファイル、その他地域向けのParquetファイルです。これら3つをひとつの新しいテーブルにまとめたい場合、Navicat 18では以下の手順で実行できます。

  • Navicatのメインウィンドウで、[ナビゲーションペイン]の[テーブル]を選択し、[オブジェクトツールバー]の[インポートウィザード]ボタンをクリックします。下図の赤枠部分です。

    import_wizard_button (92K)

  • [ソースファイルとターゲットテーブル]画面で、[ソースの追加]をクリックし、[JSONファイル (*.json)]を選択して、ヨーロッパ向けのエクスポートファイルを選択します。
  • 再度[ソースの追加]をクリックし、ドロップダウンから[CSVファイル (*.csv)]を選択して、南北アメリカ向けのエクスポートファイルを選択します。
  • もう一度[ソースの追加]をクリックし、[Parquetファイル (*.parquet)]を選択して、残りのエクスポートファイルを選択します。
  • Navicatは、自動的に[新しいテーブル]を[ターゲットテーブル]として設定します。既存のテーブルを選択するか、名前を手動で変更することで、ターゲットを変更できます。3行すべての[ターゲットテーブル]を「customers_demo」に設定します。

    renaming_the_target_table (54K)

    設定が完了すると、[ソースファイルとターゲットテーブル]画面は次のような表示になります。

    source_files_and_target_tables_screen_with_three_files (103K)

  • [次へ]をクリックして、各ソースのフィールドマッピングを確認します。ウィザードが各形式固有のデータ型を統一されたターゲットスキーマに調整するため、CSVの文字列、JSONのキー、Parquetの列は、いずれも同じ一連のフィールドに取り込まれます。左側で各ソースに対応するcustomers_demoを選択すると、[結果プレビュー]ペインで内容を確認できます。Navicatでは、実際にデータを書き込む前に変換後の結果が表示されるため、インポートを確定する前に列の不一致を確認できます。

    settings_screen (145K)

  • [次へ]をクリックして、[インポートモード]を選択します。この例で選択できるのは、ターゲットテーブルにレコードを追加する方法と、すべてのレコードを削除してソースから再投入する方法の2つです。今回は新しいターゲットテーブルを作成するため、デフォルトの追加オプションをそのまま使用します。

    import_mode_screen (58K)

  • [次へ]をクリックして最終ステップに進み、[開始]をクリックしてインポートを実行します。

    インポートの進行に合わせて、Navicatが出力ログを生成します。各ソースについてcustomers_demoテーブルの作成を試みますが、2つ目以降のファイルではテーブルがすでに存在するため、エラーが発生します。ただし、問題はありません。Navicatはそのまま新しいレコードの追加を続行します。実際にサマリーを見ると、63件すべてのレコードが正常に追加されたことを確認できます。

    output_log (103K)

ウィザードを閉じると、新しいテーブルがオブジェクトリストに表示されます。

objects_list_with_customers_demo_table (97K)

テーブルを開き、データが正しく取り込まれたことも確認できます。

customers_demo_table_data (189K)

この機能を知っておくメリット

目立つ機能ではありませんが、ファイル形式の異なる複数のシステムから出力データを集め、日常的に統合している方にとっては、非常に実用的です。形式の異なる複数のソースをウィザードで指定し、一度の操作ですべてをひとつのテーブルに取り込めるため、これまでスクリプト作成に多くの手間を要していた作業を、数回のクリックで実行できるようになりました。

ブログのアーカイブ
シェア