はじめに
新システムの刷新等で、SAP HANA Cloudを使用するとなり、現行システムからデータを移行したいという方は、少なくないでしょう。
そういった際に、選択肢として、現行システムからデータを出力し、データ取込用のプログラムを作りこむ方法もあるかと思いますが、もっとシンプルにデータを取り込みたいという方に向けてプログラムを作成せずに、GUIベースでCSV、TSV等のファイルベースでデータを取込む方法をお伝えします。
取込方法
■概要
SAP HANA Database Explorerのimport data機能を使ってデータを取り込みます。
①スキーマ(今回は、TEST)→Catalog→Tablesまで行きます。
②Tablesを右クリックして、import dataをクリックします。
③IMPORT TYPEは、Import Dataを選択します。
③IMPORT SOURCEは、各取込内容にあった選択肢をいれます。
1.Import Data From:取込元ファイルの置き場所
Amazon S3から等、様々な選択肢がありますが、今回は、ローカルからのCSV取込を選択します。
2.File has header in first rowは、先頭行がヘッダーかの選択肢になります。
今回は、ヘッダーがないデータを想定しますので、チェックを外します。
3.Trim whitespaceは、取込データのスペースを取り除くかの選択肢になります。
データを取込元ファイルのまま正確に取り込むのであれば、チェックを外します。
※チェックをつけることで、元データからスペースがとられるため、完全に取込元と一致しないリスクが出てくるため、取込方針は、事前にしっかりと決めましょう。
4.Field Delimiterは、ファイルの区切り文字の選択肢になります。
5.File to Importは、取込元ファイルを選択します。
こちらは、csvファイルを選択します。
※注意点:取込元ファイルがcsvファイルしか選択できないのに、Field Delimiterは、tab等の複数の選択肢があります。
そのため、tsv(タブ区切りのファイル)の場合は、拡張子をcsvに変えてから選択する対応が必要です。
④Database Object Detailsは、データを取り込む際にテーブルを新規作成するか既存に取込むかの選択肢になります。
※Create a new tableは、CSVからテーブルを新規作成して、データを取込む。
※Add to an existing tableは、既存に取込むかの選択肢になります。
移行対象のテーブルが決まっていることの方が多いかと思いますので、今回は、下のAdd to an existing tableを選択します。
⑤SchemaとTableは、対象のスキーマとテーブルを入力してください。
⑥下記のようにCSVの列が表示され、取込前の確認のフェーズになります。
※想定外のデータが入っていて、列がずれている等もあり得ますので、ここでの確認は、重要です。
⑦エラーが発生した際の選択肢になります。
※基本的にはエラー前提でデータを移行する方は、多勢ではないかと思いますので、今回は、一番上のエラーが発生したらログに一覧で表示されるモードを選択して、Reviewを押下します。
⑧上記の手順を終えると下記のように、取込前の最終確認のフェーズになります。
※問題なければ、Import into Databeseを押下します。
⑨これにて、データの取込は完了です。
※エラーが発生した場合は、エラーが一覧で出力されますので、エラー内容を元に地道に確認していきましょう。
■注意点
データがエラーなく取り込めたと思って、安心してはいけません。
SJISで作られたCSVファイルを取り込んでしまうとUnicodeへの自動変換時に文字化けを起こしてしまいます。
移行データであれば、正確に移行するのは、マストなはずですので、取込元ファイルの文字コードには、注意しましょう。
また、文字コードが違う場合は、事前に変更をしてから取り込むことで、文字化けは解消されますので、実施してみてください。
まとめ
データの取込については、気を使う作業で移行前とのデータの比較等で大変かと思います、こちらのブログで少しでも負荷軽減になればと思います。