チュートリアルのはじめから
前のステップ
次のステップ
Lesson 2: PowerShellを使用したSQL Serverへのデータインポート
このステップでは、ダウンロードしたスクリプトRunSQL_SQL_Walkthrough.ps1
を実行して、チュートリアルに必要なデータベースオブジェクトを作成とサンプルデータのインポートを行います。
オブジェクト作成
ダウンロードしたファイル群の中のPowerShellスクリプトRunSQL_SQL_Walkthrough.ps1
を実行し、チュートリアル環境を準備します。このスクリプトは次のアクションを実行します:
-
SQL Native ClientおよびSQLコマンドラインユーティリティがインストールされていない場合はインストールします。これらは、bcpを使用してデータをバルクロードするために必要です。
-
SQL Serverインスタンスにデータベースとテーブルを作成し、そこへデータをバルクロードします。
-
さらに複数の関数とストアドプロシージャを作成します。
スクリプトの実行
-
管理者としてPowerShellコマンドプロンプトを開き、次のコマンドを実行します。
PowerShell.\RunSQL_SQL_Walkthrough.ps1
次の情報を入力するよう求められます。
- SQL Server 2017 R Serviceがインストールされているサーバ名またはアドレス。
- 作成するデータベースの名前
- 対象のSQL Serverのユーザー名とパスワード。このユーザは、データベース、テーブル、ストアドプロシージャ、関数の作成権限、およびテーブルへのデータロード権限が必要です。ユーザー名とパスワードを省略した場合は現在のWindowsユーザによってログインします。
- ダウンロードしたファイル群の中のサンプルデータファイル
nyctaxi1pct.csv
のパス。例えば、C:\tempRSQL\nyctaxi1pct.csv
です。
-
上記手順の一環で指定したデータベース名とユーザー名をプレースホルダに置き換えるように、すべてのT-SQLスクリプトが変更されています。
-
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に保存されます。[!NOTE]
T-SQLスクリプトはデータベースオブジェクトを再作成しないため、すでに存在する場合にはデータが重複して登録されます。そのため、スクリプトを再実行する場合は事前に既存オブジェクトを削除してください。
リンク
次のステップ
前のステップ
チュートリアルのはじめから
出典
Lesson 2: Import data to SQL Server using PowerShell