皆さん、こんにちは。本日は、弊社のポスターをご紹介できることを大変嬉しく思います。このポスターでは、JMPとAWSサービスの連携についてご説明いたします。私はヤシン・ベラミリと申します。Soitecでデータエンジニアとして勤務しております。
私はギヨーム・ブニョンです。私もSoitecでデータエンジニアとして働いています。今日はポスターをご紹介します。JMPは、Excel、JSON、さらにはPDFファイルなどのネイティブ形式で多くのデータソースをターゲットにすることができます。JMPはODBCネイティブ接続を使用して多くのデータベースに接続することもできますが、それだけでは十分でない場合もあります。なぜでしょうか?それは、今日ではクラウドとAzure、AWS、Googleなどのクラウドサービスが私たちの業界だけでなくすべての業界でますます使用され、企業のデータアーキテクチャの一部となっているからです。場合によっては、JMPユーザーは最新のデータにアクセスする必要があり、場合によってはGSL固有のコネクタを開発する必要もあります。
このポスターの目的は何でしょうか?まず、JMP 15以降、Python統合を利用してJMPの機能を拡張し、ユーザーのPCにJMPとPythonの両方をデプロイできるようにしたことをお伝えします。これにより何が実現できたのでしょうか?AWSサービスや、JMP内でネイティブに処理されないその他のケースに対応するGSL関数のセットであるJMPライブラリを作成できるようになりました。600人以上のユーザーがおり、誰もがこの接続を簡単に利用できるように、また開発者全員が同じコードを使用できるように、このようなデプロイを管理する必要があります。
JMP 18以降、JMPはPythonとの統合をより簡単に管理できるようにし、以前の依存関係を削除しました。これにより、JMPのインストールがより迅速かつ簡単になり、Pythonを使用してJMPをインストールし、ネイティブに使用できるようになりました。
私たちがこれを行う理由は、ユーザーエクスペリエンスを向上させ、データへのアクセスを簡素化するためです。まず、データを準備し、保存し、企業レベルで検証することができます。また、Soitecでは現在、JMPをデータエンジニアリングパイプラインの重要なステップとして検証済みであり、統計目的でデータを公開する必要がある場合は、JMPを使用しています。
どうやってこれを実現したか。これは、私たちが何をしているのかを簡単に説明した図です。まず、Python 上に共通ライブラリを作成しました。これらのライブラリは、例えば AWS に接続したり、JMP に含まれていない統計機能を追加したり、あるいは私たちがより魅力的、面白いなどと感じたグラフを追加したりすることができます。これが最初のステップです。
次に、JSLライブラリからこれらのPythonライブラリを呼び出します。これは、JSL開発者が後で使用したいJSLです。これは内部的に検証され、IT部門によって検証されるため、全員が同じコードを使用できます。そして最終段階で、Soitecが認証を行い、このGSLライブラリを呼び出すことができるようになり、ユーザーがデータに接続するための非常にシンプルな方法を提供します。
簡単な記号を使ってさらに詳しく説明すると、このようなアーキテクチャになります。ヤシンが先ほど説明した3つの異なるブロックがあります。私がジョブ開発者で、AWSサーバーのS3バケットに保存されている抽出データを接続したいとします。まず、ライブラリパスとJSLというPythonライブラリを呼び出し、次に自分の関数を使用するだけです。4行のコードで非常に簡単に、AWS S3に保存されているファイルにアクセスできるようになります。ただし、これを行うには、最初は多少のコストがかかります。赤いブロックと黒いブロックという、他の2つのブロックを開発する必要があります。
まず、このアプリをPythonライブラリと呼びましょう。ここでPythonライブラリをインポートするだけです。その通りです。これは一種のブロックです。緑、黒、青のブロックがあります。デモをしてみましょう。すみません。JMPに入りましょう。ここにあります。とても簡単です。ログを入れましょう。Python GSLライブラリをインポートするだけです。このPython GSLには、さまざまな関数があることがわかります。ここに2つあります。
パケット ファイルを開きたいと言えばいいだけです。 Parquet はネイティブではないファイル フォーマットで、JMP では現在認識されていませんが、Python を使用すればパケット ファイルを開くことができるので問題ありません。 サブ バケット、ファイル名、アドレス領域を含むパケット ファイルを開きたいと言えばいいだけです。新しいデータ ビューを作成する必要がありますが、より簡単で速く、データを取得できるので、JMP を使用して分析を行うことができます。
別の方法も同様ですが、同じライブラリを使用して秘密情報を取得します。秘密情報とは、たとえばデータベースに接続するためのパスワードや認証情報などです。このライブラリに含まれる関数を使用すると、このシーケンスを簡単に取得できます。私の秘密情報は、dev gem discovery at the respect です。その後、秘密情報を出力して、ここで秘密値を確認できます。
もう一つ、より現実的なユースケースを挙げるとすれば、Soitec社にはこのようなアプリケーションがあります。このアプリケーションはAWS RDSデータベースに接続して集計データを取得できます。また、AWS S3にも接続してパケット形式で保存された生データを取得できます。
PythonとGSLライブラリの開発のおかげで、データベースやS3バケットに簡単に接続できるようになり、あとはJMPを使ってすべての統計計算を行うことができます。SPCチャートやCPKの能力指標など、様々な計算が可能です。集計データと生データを取得した後、データマイニングやデータ分析ができるようになります。
S3上のデータにアクセスするために私たちが行っていることをご紹介しました。結論として、AWSアクセス用にPythonをJMPに統合することで、数多くのメリットが得られると言えます。機能性と効率性の両方が向上します。Pythonライブラリを使えば、あらゆるものとの連携が容易になります。今回の例ではAWSを取り上げましたが、JMPにネイティブ対応していない他のサービスでも対応可能です。Soitecで現在使用しているAWSのサービスであるS3、DynamoDB、Secret Managerを使って説明しました。
JMP 18以降に導入された統合機能により、複雑さが軽減され、時間の節約にもつながります。以前はPythonライブラリの展開やPythonのインストールを自社で行う必要がありましたが、今ではPythonによってあらゆる操作が可能になり、すべてのデータにアクセスできるだけでなく、エンドユーザーはデータ収集ではなく分析に集中できるようになります。PythonとJMPが連携することで、効率的なデータ意思決定のための強力な相乗効果が生まれます。
今後のJMPリリースでは、jmputils Pythonライブラリが導入されます。これにより、JMPとPython間の連携方法が全く新しいものとなり、どのように活用できるのか、また、Pythonで全てを実行し、その後JMPで処理するための準備をどのように強化できるのか、非常に楽しみにしています。皆様にもこのリリースをお試しいただけるよう、心待ちにしております。
ありがとうございました。以上で弊社の紹介を終了いたしました。弊社の簡単な会社概要、事業内容、そして事業の中核についてご紹介しました。
ありがとう。
ありがとう。