LoginSignup
1
0

More than 5 years have passed since last update.

【SQL Server 2017 による In-Database R 分析 チュートリアル】Lesson 2: PowerShellを使用したSQL Serverへのデータインポート

Posted at

チュートリアルのはじめから

SQL開発者のための In-Database R 分析

前のステップ

Lesson 1: サンプルデータのダウンロード

次のステップ

Lesson 3: データの探索と可視化

Lesson 2: PowerShellを使用したSQL Serverへのデータインポート

このステップでは、ダウンロードしたスクリプトRunSQL_SQL_Walkthrough.ps1を実行して、チュートリアルに必要なデータベースオブジェクトを作成とサンプルデータのインポートを行います。

オブジェクト作成

ダウンロードしたファイル群の中のPowerShellスクリプトRunSQL_SQL_Walkthrough.ps1を実行し、チュートリアル環境を準備します。このスクリプトは次のアクションを実行します:

  • SQL Native ClientおよびSQLコマンドラインユーティリティがインストールされていない場合はインストールします。これらは、bcpを使用してデータをバルクロードするために必要です。

  • SQL Serverインスタンスにデータベースとテーブルを作成し、そこへデータをバルクロードします。

  • さらに複数の関数とストアドプロシージャを作成します。

スクリプトの実行

  1. 管理者としてPowerShellコマンドプロンプトを開き、次のコマンドを実行します。

    PowerShell
    .\RunSQL_SQL_Walkthrough.ps1
    

    次の情報を入力するよう求められます。

    • SQL Server 2017 R Serviceがインストールされているサーバ名またはアドレス。
    • 作成するデータベースの名前
    • 対象のSQL Serverのユーザー名とパスワード。このユーザは、データベース、テーブル、ストアドプロシージャ、関数の作成権限、およびテーブルへのデータロード権限が必要です。ユーザー名とパスワードを省略した場合は現在のWindowsユーザによってログインします。
    • ダウンロードしたファイル群の中のサンプルデータファイルnyctaxi1pct.csvのパス。例えば、C:\tempRSQL\nyctaxi1pct.csvです。

    sqldev-r-ps-1-gho9o9.png

    sqldev-r-ps-2-gho9o9.png

  2. 上記手順の一環で指定したデータベース名とユーザー名をプレースホルダに置き換えるように、すべてのT-SQLスクリプトが変更されています。

  3. T-SQLスクリプトによって作成されるストアドプロシージャと関数がデータベース内に作成されていることを確認します。

    T-SQLスクリプトファイル ストアドプロシージャ/関数
    create-db-tb-upload-data.sql データベースと2つのテーブルを作成します。

    テーブルnyctaxi_sample: メインとなるNYC Taxiデータセットが登録されます。ロードされるデータはNYC Taxiデータセットの1%のサンプルです。クラスタ化カラムストアインデックスの定義によってストレージ効率とクエリパフォーマンスを向上させています。

    テーブルnyc_taxi_models: 訓練された高度な分析モデルが登録されます。
    fnCalculateDistance.sql 乗車位置と降車位置の間の直接距離を計算するスカラー値関数fnCalculateDistanceを作成します。
    fnEngineerFeatures.sql モデルトレーニング用の特徴値セットを返すテーブル値関数fnEngineerFeaturesを作成します。
    PredictTip.sql モデルを使用した予測のために、訓練されたモデルを呼び出すストアドプロシージャPredictTipを作成します。ストアドプロシージャは、入力パラメータとして問合せを受け入れ、入力行のスコアを含む数値の列を戻します。
    PredictTipSingleMode.sql モデルを使用した予測のために、訓練されたモデルを呼び出すストアドプロシージャPredictTipSingleModeを作成します。このストアドプロシージャは新しい観測値を入力として、個々の特徴値はインラインパラメータとして受け取り、新しい観測値に対する予測値を返します。
    PlotHistogram.sql データ探索用のストアドプロシージャPlotHistogramを作成します。 このストアドプロシージャは、R関数を呼び出して変数のヒストグラムをプロットし、プロットをバイナリオブジェクトとして返します。
    PlotInOutputFiles.sql データ探索用のストアドプロシージャPlotInOutputFilesを作成します。 このストアドプロシージャは、R関数を使用してグラフィックを作成し、ローカルPDFファイルとして保存します。
    TrainTipPredictionModel.sql Rパッケージを呼び出すことによってロジスティック回帰モデルを訓練するストアドプロシージャTrainTipPredictionModelを作成します。 このモデルは、tipped 列値を予測します。ストアドプロシージャの出力は訓練されたモデルであり、テーブルnyc_taxi_modelsに保存されます。

    sqldev-r-browsetables1-gho9o9.png

    [!NOTE]
    T-SQLスクリプトはデータベースオブジェクトを再作成しないため、すでに存在する場合にはデータが重複して登録されます。そのため、スクリプトを再実行する場合は事前に既存オブジェクトを削除してください。

リンク

次のステップ

Lesson 3: データの探索と可視化

前のステップ

Lesson 1: サンプルデータのダウンロード

チュートリアルのはじめから

SQL開発者のための In-Database R 分析

出典

Lesson 2: Import data to SQL Server using PowerShell

関連項目

Machine Learning Services with R

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0