ページの先頭行へ戻る
Symfoware Analytics ServerV12.3.0 利用ガイド
FUJITSU Software

G.5.7 テーブル一覧取得

データベースからカラムナテーブルとテーブルそれぞれの一覧を取得する方法を説明します。

テンプレートの構成

テンプレートを構成するノードを説明します。

ノード名

ノードの役割

ユーザーの操作

フロー開始

処理を開始します。

ありません。

テーブル一覧取得

データベースからカラムナテーブル以外のテーブル一覧を取得します。

  • 必要なパラメーターを入力します。

  • コマンドを入力します。

カラムナテーブル一覧取得

データベースからカラムナテーブルの一覧を取得します。

  • 必要なパラメーターを入力します。

  • コマンドを入力します。

テーブル一覧格納(ビルトイン)

設定された出力データストアへ取得したカラムナテーブル以外のテーブル一覧を格納します。

ありません。

カラムナテーブル一覧格納(ビルトイン)

設定された出力データストアへ取得したカラムナテーブル一覧を格納します。

ありません。

利用手順

手順は以下のとおりです。

  1. テンプレートのコピーの作成
    以下の手順でテンプレートをコピーします。

    1. [分析フロー一覧パネル]の[テンプレート]-[01_テーブル操作]-[07_テーブル一覧取得]を選択します。

    2. 右クリックメニューから[開く]を選択します。

    3. メニューバーの[プロジェクト]-[名前を付けて保存]を選択します。

    4. 表示された画面で、「分析フロー名」と「保存先フォルダー」を指定して、[OK]ボタンをクリックし、コピーを作成します。

  2. 出力データストアの定義
    [テーブル一覧格納(ビルトイン)]ノードと[カラムナテーブル一覧格納(ビルトイン)]ノードそれぞれに対して出力データストアを定義します。手順は、“G.5.1 カラムナテーブル作成”の“利用手順”の“2. 出力データストアの定義”を参照してください。

  3. ノードのパラメーターの設定
    以下のノードをダブルクリックし、ノードのプロパティを開きます。[パラメーター]タブで必要なパラメーターの値を設定し、[OK]ボタンをクリックします。

    [テーブル一覧取得]ノード

    変数名

    パラメーター名

    必須/任意

    値の説明

    DB

    データベース名

    必須

    テーブルの一覧情報を取得したいデータベース名を指定します。

    SCM

    スキーマ名

    必須

    テーブルの一覧情報を取得したいスキーマ名を指定します。

    UserName

    ユーザー名

    必須

    データベースのユーザー名を指定します。

    Password

    パスワード

    必須

    ユーザーのパスワードを指定します。

    InstallPath

    SymfowareAnalyticsServerインストールパス

    必須

    DWHサーバのインストールディレクトリを絶対パスで指定します。

    [カラムナテーブル一覧取得]ノード

    変数名

    パラメーター名

    必須/任意

    値の説明

    DB

    データベース名

    必須

    [テーブル一覧取得]ノードで指定したデータベース名を指定します。

    SCM

    スキーマ名

    必須

    [テーブル一覧取得]ノードで指定したスキーマ名を指定します。

    UserName

    ユーザー名

    必須

    データベースのユーザー名を指定します。

    Password

    パスワード

    必須

    ユーザーのパスワードを指定します。

    InstallPath

    SymfowareAnalyticsServerインストールパス

    必須

    DWHサーバのインストールディレクトリを絶対パスで指定します。

    注意

    値には1023文字まで入力できます。

  4. ノードのコマンドの設定
    以下のノードをダブルクリックし、ノードのプロパティを開きます。[コマンド]タブで以下に記載のコマンドを上書き設定し、[OK]ボタンをクリックします。

    PDF形式のマニュアルでコマンド表記をコピーした場合、見た目の行末に改行コードが含まれます。コマンド表記をコピーする場合は、HTML形式のマニュアルからコピーしてください。コマンドに改行が含まれる場合、プロパティの保存に失敗します。

    [テーブル一覧取得]ノード
    コマンド内容
    /bin/echo $input_data$ >/dev/null && export BAWKDIR=$IBAMS_WORK_DIR$ && export PATH=/opt/symfoserver64/bin:${PATH} && export LD_LIBRARY_PATH=/opt/symfoserver64/lib:${LD_LIBRARY_PATH} && export PGPASSWORD=$Password$ && "/opt/symfoserver64/bin/pg_dump" -U "$UserName$" -f $BAWKDIR/dumpfile -F p -n "$SCM$" -s "$DB$" && echo "relname,usename" >$output_data$ && grep 'Type: TABLE;' $BAWKDIR/dumpfile | sed 's/-- Name: \([^;]*\);[^;]*;[^;]*; Owner: \([^;]*\).*/\1,\2/g' >>$output_data$
    [カラムナテーブル一覧取得]ノード
    コマンド内容
    /bin/echo $input_data$ >/dev/null && export BAWKDIR=$IBAMS_WORK_DIR$ && export PATH=/opt/symfoserver64/bin:${PATH} && export LD_LIBRARY_PATH=/opt/symfoserver64/lib:${LD_LIBRARY_PATH} && export PGPASSWORD=$Password$ && "/opt/symfoserver64/bin/pg_dump" -U "$UserName$" -f $BAWKDIR/dumpfile -F p -n "$SCM$" -s "$DB$" && echo "relname,usename" >$output_data$ && grep 'Type: FOREIGN TABLE;\|^SERVER' $BAWKDIR/dumpfile | sed 'N;s/-- Name: \([^;]*\);[^;]*;[^;]*; Owner: \([^;]*\).*\nSERVER \(.*\)/\1,\2,\3/g;' | while read line ; do if [ "`echo "$line" | cut -d',' -f 3`" == "dwh_server" ] ; then echo "$line" | cut -d',' -f 1-2 >>$output_data$; fi ; done
  5. テンプレートとの接続
    手順は、“G.5.1 カラムナテーブル作成”の“利用手順”の“4. テンプレートとの接続”を参考に、作成した出力データストアをテンプレートのノードと接続してください。

  6. データ加工フローの実行
    手順は、“G.5.1 カラムナテーブル作成”の“利用手順”の“5. データ加工フローの実行”を参照してください。

  7. 取得したテーブルの確認

    注意

    必ず手順5に続けて実施してください。実行した分析フローエディタで、別のデータ加工フローを開いたり、分析フローエディタを閉じたりすると、テーブル確認ができなくなります。

    以下の手順でテーブルを確認します。

    1. メニューバーの[実行]-[結果のダウンロード]を選択します。

    2. [結果のダウンロード]ダイアログで、手順2で定義した出力データストアを選択し、[OK]ボタンをクリックします。

    3. ファイルの保存先を選択するダイアログが表示されるので、保存先を選んで[保存]ボタンをクリックします。
      指定した保存先にファイルがダウンロードされます。

    4. ファイルをテキストエディタ等で参照します。以下の情報が参照できます。

      • [relname]:テーブル名

      • [usename]:ユーザー名

      例1:カラムナテーブル一覧

      テーブル名は“table1”、ユーザー名は“symfoasuser”の場合

      relname,usename
      table1,symfoasuser

      例2:テーブル一覧

      テーブル名は“table2”、ユーザー名は“symfoasuser”の場合

      relname,usename
      table2,symfoasuser