Tag: SASプログラム

Analytics
0
SAS ViyaでのSASプログラム実行用リソース管理(二):ユーザごとに計算リソースと権限の設定方法

一、背景の紹介 "データアナリストのようなヘビーユーザと利用頻度が低いユーザや参照系のユーザなど、さまざまなユーザがおり、SASプログラムを実行する際に利用するCPUとメモリなどの計算リソースを、ユーザタイプごとに割り当てる設定をしたい"。これは、多くのViya4ユーザ様が持つ課題です。これを実現するためには、次の2つのステップが必要です 1.異なるタイプのユーザごとに利用できる計算リソースを設定します。 2.異なるタイプのユーザに対して、権限を個別に割り当てる必要があります。 前回の記事では、Viyaのシステム管理者に向けて、ユーザが利用できる計算リソースの上限値の変更方法を紹介していきます。本記事では、異なるタイプのユーザに対して、利用できる計算リソースを個別に設定する方法と権限を個別に割り当てる方法を紹介します。 二、準備 ユーザがSAS Studioを使用しているときにSAS Viyaがどのように計算リソースを呼び出すかは、前回の記事で説明したとおりですので、ここで割愛します。 興味のある方は、こちらのリンク先のブログをご参照ください。 以下の紹介内容は、基本的に一回目の記事と同じくデプロイメントファイルとK8sクラスターに変更を加える必要があるため、以下を準備する必要があります。基本的にViyaをデプロイ時に必要なものと同じですので、もし下記に対して不明なところがある場合、ご利用のViya環境のデプロイ担当者にお問い合わせください。 ・k8sクラスターのAPIサーバーに接続できる作業用のサーバー、OSはLinux系がおすすめです。 ・k8sクラスターに接続用コンフィグファイル(管理者権限が必要)。~/.kube/configとして保存します。 ・k8sのコマンドラインツール:kubectl ・Viyaデプロイメントアセットのコンパイル用ツール:kutomize ・Viyaをデプロイ時に使ったkustomization.yamlやsite-configフォルダを含めたファイルアセット また、ユーザの権限を設定するには、ViyaのGUI上での操作が必要のため、以下の準備も必要です。 ・管理者権限を持つViyaアカウント 三、ユーザごとに計算リソースの上限値を設定する方法 この章の項目は多いので、読者は以下のリンクを使って興味のあるセクションに直接ジャンプすることができます。 1.シナリオの紹介 2.ユーザグループの作成 3.SAS Viyaのデプロイメントファイルの修正 4.ヘビーユーザ用ポッドテンプレートを作成 5.ユーザ権限の設定 6.ユーザ権限設定の検証 1.シナリオの紹介 こちらの章の内容は、下記のシナリオに基づいて、ヘビーユーザとライトユーザ二種類のタイプのユーザに対して、それぞれ異なる計算リソースの上限を設定するシナリオを紹介します。 ・ユーザタイプA:ヘビーユーザ 利用する最大CPU:8CPU 利用する最大メモリ:8Gi ・ユーザタイプB:ライトユーザ 利用する最大CPU:2CPU 利用する最大メモリ:2Gi 2.ユーザグループの作成 まず、Viyaにヘビーユーザとライトユーザの2つの独立したユーザグループを作成する必要があります。この部分の作業はSAS ViyaのGUI上で実施します。 ①SAS Viyaへログインし、左側のメニューから「環境の管理」を選択します。 ②環境管理の画面に切り替わったら、左のメニューから「ユーザ」を選択します。 ③そして、画面上部の「ビュー」をクリックし、「カスタムグループ」を選択し、「新規作成」ボタンをクリックします。 ④ヘビーユーザ用グループを作成しますので、グループ新規作成の画面に、名前とID、説明を下記の図のように入力し、「保存」ボタンをクリックします。 ⑤そして、ライトユーザに対しても、同様の方法でグループを作成します。 ⑥次は、作ったユーザグループにユーザを追加しますので、作ったグループ名を選択し、右側の編集アイコンをクリックします。 ⑦ユーザ追加画面で、追加するユーザを選択し、追加アイコンで追加し、終わったら「OK」ボタンをクリックします。同様な操作でもう一つのヘビーユーザ用グループに対しても実施します。これで、ユーザグループの作成は完了しまた。 3.ライトユーザ用ポッドテンプレートを作成 ユーザグループごとに使用する計算リソースが異なるため、ユーザグループを作成した後に、ユーザグループごとに個別のポッドテンプレートを定義する必要があります。この部分の作業は、kubernetes側で実施します。 ①まず、ライトユーザ向けのポッドテンプレートを作成してみましょう。下記のコマンドで既存のポッドテンプレートをファイルとして、ローカルに保存します。 kubectl

Analytics
0
SAS ViyaでのSASプログラム実行用リソース管理(一):計算リソース上限の設定方法

一、背景の紹介 "データアナリストのようなヘビーユーザと利用頻度が低いユーザや参照系のユーザなど、さまざまなユーザがおり、SASプログラムを実行する際に利用するCPUとメモリなどの計算リソースを、ユーザタイプごとに割り当てる設定をしたい"。これは、多くのViyaユーザ様が持つ課題です。これを実現するためには、次の2つのステップが必要です 1.異なるタイプのユーザごとに利用できる計算リソースを設定します。 2.異なるタイプのユーザに対して、権限を個別に割り当てる必要があります。 本記事では、まずViyaのシステム管理者に向けて、ユーザが利用できる計算リソースの上限値の変更方法を紹介していきます。 二、準備 設定方法を紹介する前に、まずViyaでSASプログラムを実行時に計算リソースを調達する方法を説明します。ここでは、viyaのアーキテクチャとk8sの知識が必要になるので、なるべくわかりやすく解説していきたいと思います。 まず、ユーザがSAS Studioを使用する際、Viyaはそのユーザのみが使用できるセッションを作成します。 ユーザは、実行が必要なSASアプリケーションごとに個別のセッションを作成することができ、各セッションはバックグラウンドでk8sクラスタ上に対応するポッドを持ちます。 各ポッドには使用できるCPUとメモリの上限があり、デフォルトでは2vcpusと2Giのメモリが使用できます。Viyaがユーザのセッションのためにポッドを生成するとき、ポッドテンプレート(podTemplate)と呼ばれるものを参照します。ポッドテンプレートはviyaがデプロイされるときにyamlファイルで定義されるものです。そのため、ユーザセッションが利用できる計算リソースを変更したい場合は、viyaのデプロイに使用するポッドテンプレートのyamlファイルを変更する必要があります。また、ユーザの種類によって異なる計算リソースの制限を設定したい場合は、既存のポッドテンプレートをコピーして、名前と数値を変更するだけです。 デプロイメントファイルとK8sクラスターに変更を加える必要があるため、以下を準備する必要があります。基本的にViyaをデプロイ時に必要なものと同じですので、もし下記に対して不明なところがある場合、ご利用のViya環境のデプロイ担当者にお問い合わせください。 ・k8sクラスターのAPIサーバーに接続できる作業用のサーバー、OSはLinux系がおすすめです。 ・k8sクラスターに接続用コンフィグファイル(管理者権限が必要)。~/.kube/configとして保存します。 ・k8sのコマンドラインツール:kubectl ・Viyaデプロイメントアセットのコンパイル用ツール:kutomize ・Viyaをデプロイ時に使ったkustomization.yamlやsite-configフォルダを含めたファイルアセット 三、計算リソース上限値の修正方法 計算リソースの調達方法を簡単に紹介した後、次は、そのリソースを変更する方法について説明します。ここでは、主に以下の2つの方式を採用しています。以下はLinux OSを使用することを前提に説明します。 以下はこの章の項目の一覧です。読者は以下のリンクを使って興味のあるセクションに直接ジャンプすることができます。 1.デプロイ用ポッドテンプレートファイルを修正し、再デプロイでリソースの設定を更新する方法 2.K8sクラスター内にデプロイされたポッドテンプレートをそのまま修正する方法 3.設定後の検証方法 1.デプロイ用ポッドテンプレートファイルを修正し、再デプロイでリソースの設定を更新する方法 この方法のメリットは、デプロイメントファイルに対して変更を加えるため、後にViya環境のバージョンアップや設定変更があった場合でも、計算リソースの設定の変更が保持されることです。 デメリットは、設定時にデプロイメント手順を再実行する必要があるため、比較的面倒ではあるが、長期的には管理しやすいので、おすすめです。 ①まず、Viya のデプロイメントアセットを含むパスの一番下に移動する必要があります。 このパスを/opt/viyainstallと仮定して、以下のコマンドを実行する必要があります。 deploy=/opt/viyainstall cd $deploy パス$deployの下の構造は、おおよそ次のようになっているはずです。下記のファイルやフォルダが含まれていない場合、パスが正しいか、Viyaのデプロイに使用するファイルが欠落していないかを確認することが重要です。 ②次に、ポッドテンプレート内で定義されているcpuとmemoryの制限を変更するために、site-configフォルダに以下のファイルを作成する必要があります。実際には、設定したいCPUやメモリの上限値に合わせて、下記のコマンド内のvalueの値を変更する必要があります。下記のコマンドの例では、ユーザが利用できる計算リソースの上限を31vcpu/240Giに設定しました。 cat <<EOF > $deploy/site-config/modify-podtemplate.yaml #メモリの上限値を修正 - op: add path: "/metadata/annotations/launcher.sas.com~1default-memory-limit" value: 240Gi #利用できるメモリの上限値 - op:

Analytics
0
SAS ViyaでSASプログラムをバッチで実行する方法の紹介

一、背景の紹介 SAS Viyaに搭載されているSAS StudioはSASプログラムの作成と実行のツールとしてよくユーザーさんたちに利用されています。また、実際のビジネスの中では、SASプログラムのバッチ実行が必要となる場面もたくさん存在しています。しかし、多くのSAS9を活用している既存のユーザーは、Viyaでのバッチ実行方式に対してまだ詳しくないかもしれませんので、本ブログを通してViyaでバッチ方式でのSASプログラムの実行方法を紹介したいと思います。 以下は本記事内容の一覧です。読者は以下のリンクをで興味のあるセクションに直接ジャンプすることができます。 二、sas-viya CLIツールの紹介 1.sas-viya CLIとは 2.インストール方法の紹介 三、SASプログラムをバッチで実行する方法の紹介 1.バッチでSASプログラムの実行 2.実行されたバッチジョブの確認とログの取得方法 3.バッチジョブの削除と停止方法 二、sas-viya CLIツールの紹介 1.sas-viya CLIとは SAS Viyaのコマンドラインインターフェース(以下はsas-viya CLI)は、コマンドライン上で、SAS ViyaのRESTサービスを利用することによって、SAS Viyaの設定や機能を利用するためのツールです。CLIは、グラフィカル・ユーザー・インターフェース(GUI)を使用する代わりに、プログラム的にSAS Viyaを操作するために使用することができます。 sas-viya CLIのbatchプラグインは、SAS Viya環境にコマンドラインからSASプログラムやコマンドをアップロードし、バッチ処理することを可能にします。プログラムをアップロードした後は、サーバ側でバッチ処理を実施するので、処理中にViyaのサーバとの接続を維持する必要はありません。 2.インストール方法の紹介 従来SAS9を利用しているユーザーは、sas.exeなどでSASプログラムをバッチで実行していたと思いますが、Viyaの場合はsas-viyaというコマンドラインツールを利用します。別途でインストールは必要ですが、Viyaのサービスへ接続できるところであれば、WindowsでもLinuxでも、任意のマシン上から遠隔でViya上でSASジョブの実行ができます。以下ではsas-viyaコマンドラインツールのインストールとセットアップ方法を紹介します。 まずは下記のサイトからお使いのOS(Linux, Window, OSX)に応じて、インストールファイルをダウンロードします。 https://support.sas.com/downloads/package.htm?pid=2512/ ① Windowsをご利用の場合の手順は以下となります。Linuxユーザーの方は、こちらを参照ください。 (1)ダウンロードしたzipファイルを解凍し、sas-viya.exeのフォルダの下にshift+右クリックし、「PowelShellウィンドウをここで開く」をクリックします。 (2)利用開始の前に、接続先のViyaサーバ情報の初期登録が必要ですので、下記のコマンドを実行します。聞かれた内容を下記のように入力し、アクセス先を定義します。 .sas-viya.exe profile init こちらのステップは初めて利用する際に、一回だけ実施します。Service Endpointは繋ぎ先のURLを入力し、それ以外の”Output type”と”Enable ANSI colored output”については、画面に出力されたメッセージのフォーマットを指定するものですので、お好みの設定で構いません。もしわからない場合は、それぞれにtextとyにすれば良いです。 (3)接続先の情報を設定し終わったら、次はサーバへのログインです。下記のコマンドを実行して、IDとPWを入力し、ログインします。 .sas-viya auth login