開発者の皆さん、こんにちは!

最近リリースされた InterSystems IRIS 2021.2 の目玉機能のひとつが Embedded Pythonです。Embedded Pythonは、PythonのランタイムをIRISに組み込むことによって、IRISのメソッドをPythonで記述したり、PythonのコードからIRISのクラスにアクセスしたりなどなど、IRISのObjectScriptとPythonとで相互に呼び出しを行なえる機能です。

しかも、Pythonのランタイムを埋め込んでいるため、ネットワークのオーバーヘッドがなく、パフォーマンスへの影響は最小限です。

IRISのプログラマの方には、Pythonの豊富なライブラリをストレスなく利用して頂けます。

Pythonのプログラマの方には、ObjectScriptを学ぶことなく、IRISの高速なデータベースやインターオペラビリティ機能などをストレスなく活用して頂けます。

今回の記事では、Embedded Pythonの機能をほんの一部だけ紹介します。

4 0
0 1.1K
記事
· 2022年2月4日 7m read
Embedded Python 試してみました

開発者の皆さん、Python好きの皆さん、こんにちは!

ドキュメントをみながら IRIS 2021.2 に追加された Embedded Python を試してみました!

IRIS にログインしてるのに Pythonシェルに切り替えできて Python のコードが書けたり、Python で import iris するだけで SQL を実行できたりグローバルを操作できるので、おぉ!✨という感じです。

ぜひ、みなさんも体感してみてください!

では早速。

まず、IRISにログインします。Windows ならターミナルを開きます。Windows 以外は以下実行します。

4 0
1 564

開発者の皆さん、こんにちは!

Flaskを使うと簡単にWebアプリが作成できるようでしたので、Embedded Pythonを利用してIRISに保存した月毎の歩数データ(テーブル/グローバル)を matplotlibを利用してグラフ表示する簡単なWebアプリを作成してみました。

使っているPythonスクリプトファイルやHTMLは以下の通りです(図例はテーブルからデータを取る例ですが、サンプルにはグローバルからデータを取得する例も含まれます)。

サンプルはこちらに置いています👉https://github.com/Intersystems-jp/WalkSteps

IRISのインストール環境に合わせて、サンプルのディレクトリを分けています。

3 0
0 1.2K

InterSystems IRIS 2021.2 のバージョンより、Embedded Python を使用できるようになりました。
Embedded Python については、「Embedded Pythonを簡単にご紹介します」の記事をぜひご覧ください。

こちらでは、Embedded Python を使用して Excel のデータを IRIS グローバルに出力する方法をご紹介します。

最初に、irispip コマンドで必要なライブラリをインストールします。
今回は、pandas、xlrd、openpyxl の3つのライブラリをインストールします。

3 2
1 553

IRIS 2022.1では Embedded Python が導入されました。Embedde Python によって、IRISの独自言語である ObjectScript と Python の親和性の良さをぜひ実感いただけると嬉しいです。今回の記事では、日本語PDFをPythonライブラリを利用して作成し、さらに ObjectScript と融合するところまで見ていただこうと思います。

2 0
0 212

キーワード: Python、JDBC、SQL、IRIS、Jupyterノートブック、Pandas、Numpy、および機械学習

1. 目的

これは、デモの目的で、Jupyterノートブック内でPython 3によってIRIS JDBCドライバーを呼び出し、SQL構文でIRISデータベースインスタンスにデータを読み書きする、5分程度の簡単なメモです。

昨年、私はCacheデータベースへのPythonバインディング(セクション4.7)について簡単に触れました。 そこで、Pythonを使ってIRISデータベースに接続し、そのデータをPandasデータフレームとNumPy配列に読み込んで通常の分析を行ってから、事前処理済みまたは正規化されたデータをML/DLパイプラインに通すためにIRISに書き込む作業においてのオプションと議論について要約しましょう。

すぐに思い浮かぶ簡単なオプションがいくつかあります。

2 0
0 718

これまでの記事では、メールサーバーのメールボックスからのメッセージを処理する IMAP プロトコルの基本的な使用方法を学習しました。 とても興味深いものではありましたが、他の人が作成してすぐに利用できるようにライブラリに提供されている実装を利用することも可能です。

IRIS データプラットフォームの改善の 1 つに、同じ IRIS プロセスで ObjectScript に並行して Python コードを記述できる機能があります。 この新機能は、組み込み Python と呼ばれます。 組み込み Python を使用すると、ObjectScript コードに巨大な Python エコシステムのライブラリの力を取り込むことができます。

2 0
0 284

開発者の皆さん、こんにちは!

開発者向け情報を集めた「Developer Hub」ページが新たに登場しました!

このページには、4種類のチュートリアルが用意されています。チュートリアはブラウザ上で動作し、VSCodeやIRISターミナル、管理ポータルなどチュートリアルで使用するすべての画面が1つのタブ内で開くようになっています。

チュートリアルを試すための事前準備は不要で、クリック1回ですぐにお試しいただけます!(ユーザ登録も不要です)(チュートリアル開始方法は、ページ末尾をご覧ください。)

2 0
0 191

InterSystems IRIS 2021.2 のバージョンより、Embedded Python を使用できるようになりました。

Embedded Python で Excel のデータを IRIS グローバルに格納する方法 では pandas.DataFrame のデータを InterSystems IRIS グローバルに保存する方法をご紹介しました。
こちらの記事では、その逆の「InterSystems IRIS グローバル($LB) を pandas.DataFrame に変換する」方法をご紹介します。

1 0
0 267

この記事は、視覚化ツールと時系列データの分析を説明する連載の最初の記事です。 当然ながら、Caché製品ファミリーから収集できるパフォーマンス関連のデータを見ることに焦点を当てますが、 説明の途中で、他の内容についても解説していきます。 まずは、Pythonとそのエコシステムで提供されているライブラリ/ツールを探りましょう。

この連載は、Murrayが投稿したCachéのパフォーマンスと監視に関する優れた連載(こちらから参照)、より具体的にはこちらの記事と密接に関係しています。

免責事項1: 確認しているデータの解釈について話すつもりですが、それを詳しく話すと実際の目標から外れてしまう可能性があります。 そのため、Murrayの連載を先に読んで、主題の基本的な理解を得ておくことを強くお勧めします。

1 0
0 83

インターネットを使うようになってから (1990年代後半)、PythonとIRIS グローバルを使ってブログを書いていますが、常にCMS (コンテンツ管理システム) でブログ、ソーシャルメディア、さらには企業ページに情報を簡単に投稿できるようにしていました。
数年後、自分がマークダウンファイルに収めて使ってきたすべてのコードをgithubに入れました。
ネイティブAPIでデータをIntersystems IRISに入れて永続化するのはとても簡単だったので、このアプリケーションを作成して少しSQLを忘れ、キー・バリュー・データベースモデルを受け入れることにしました!
picture

ブログとは?

これはWEB LOGの略名で、基本的にはユーザーが書いてページに投稿、公開できるプラットフォームです。

1 0
0 164



このフォーメーション私の GitHub にあり、30 分で csv ファイルと txt ファイルの読み取りと書き込み方法、Postgres を使ったIRIS データベースリモートデータベースの挿入とアクセス方法、FLASK API の使用方法について説明します。これらすべてに、PEP8 命名規則に従った、Python のみのインターオペラビリティフレームワークを使用します。

1 0
0 171

Python は世界で最も使用されているプログラミング言語になり(出典: https://www.tiobe.com/tiobe-index/)、SQL はデータベース言語としての道をリードし続けています。 Python と SQL が連携して、SQL だけでは不可能であった新しい機能を提供できれば、素晴らしいと思いませんか? 結局のところ、Python には 380,000 を超える公開ライブラリがあり(出典: https://pypi.org/)、Python 内で SQL クエリを拡張できる興味深い機能が提供されています。 この記事では、Embedded Python を使用して、InterSystems IRIS データベースに新しい SQL ストアドプロシージャを作成する方法を詳しく説明します。

サンプルとして使用する Python ライブラリ

この記事では、IRIS で SQL を扱う人にとって非常に便利な GeoPy と Chronyk という 2 つのライブラリを使用します。

1 0
0 158

最近人気上昇中のプログラミング言語Python、ご存じのとおりIRISでは2通りの使い方が出来ます。

組み込みPython(Embedded Python)

PythonコードはIRISプロセス内でObjectScriptコードと並列に実行

具体的には

  1. IRISクラス内のメソッド
  2. SQL関数とストアドプロシージャ
  3. ターミナルからPythonシェルを起動
  4. irispythonコマンド実行

が該当します。

ネイティブAPI(Native API)

IRISの外からグローバルへのアクセス、クラスメソッドを呼び出し

上の4種類以外は全てネイティブAPIを使用します。

Pythonコードが実行される場所でIRISへのアクセス手段が決まりますが、ライブラリ名が双方とも”iris”のため注意が必要です。

* 従来からのirisnativeはDeprecated(非推奨)となりました

1 0
0 127

NoSQLデータベースという言葉を聞かれたことがあると思います。色々な定義がありますが、簡単に言えば、文字通りSQLを使わない、つまりリレーショナルデータベース(RDB)以外のデータベースのことを指すのが一般的です。

InterSystems IRIS Data Platformでは、テーブルを定義してSQLでデータにアクセスできます。ですから、InterSystems IRIS Data Platformは厳密にNoSQLデータベースというわけではありません。しかし、InterSystems IRISの高パフォーマンスを支える「グローバル」は、40年も前からInterSystemsのコア技術として、現代で言うNoSQLデータベースを提供してきました。本稿では、InterSystems IRISの「グローバル」でグラフ構造を作り、それをPythonでアクセスする方法を紹介します。

本稿で説明する内容は動画でも公開しています。ぜひご覧ください。

1 0
0 738

私が一番興味を持っているのは、組み込み Python におけるグローバルの使用についてです。
そこで、提供されている公式ドキュメントを確認しました。

#1 グローバルの導入
グローバルとは何かについての一般的な説明。 次の章につながっています。

#2 ObjectScript の詳細について
組み込み Python の記述はありません。
さらに先に進むと...

1 0
1 208

開発者のみなさん、こんにちは。

今回は、スーパーやコンビニでもらうレシートを写真で撮り、OCR を使ってレシートの画像から文字列を切り出して IRIS に登録する流れを試してみました。

サンプルでは、Google の Vision API を利用してレシートの JPG 画像から購入物品をテキストで抽出しています。

1 0
1 1K

画像

IRIS と Python でチャットボットを作成する

この記事では、InterSystems IRIS データベースを Python と統合して自然言語処理(NLP)の機械学習モデルを提供する方法を説明します。

Python を使用する理由

世界的に広く採用され使用されている Python には素晴らしいコミュニティがあり、様々なアプリケーションをデプロイするためのアクセラレータ/ライブラリが豊富に提供されています。 関心のある方は https://www.python.org/about/apps/ をご覧ください。

0 0
0 460

開発者の皆さん、こんにちは。

AWSのEC2インスタンス(Ubuntu 20.04を選択)にIRISをインストールした環境を事前に用意した状態からの流れですが、AWS Lambda 関数からPyODBC経由でIRISに接続するまでの流れを試してみました。

以下の流れでご紹介します。

1. レイヤーを作成する

2. Lambda関数を作成する。

3. 1,2の流れをCloudformationで行う例

例で使用しているコード一式はこちらにあります👉https://github.com/Intersystems-jp/iris-pyodbc-lambda

0 0
0 440

1. interoperability-embedded-python

この概念実証では、embedded PythonIRIS 相互運用フレームワークをどのように使用できるかについて示すことを目的としています。

1.1. 目次

1.2. 例

import grongier.pex
import iris
import MyResponse

class MyBusinessOperation(grongier.pex.BusinessOperation):

    def OnInit(self):
        print("[Python] ...MyBusinessOperation:OnInit() is called")
        self.LOGINFO("Operation OnInit")
        return

    def OnTeardown(self):
        print("[Python] ...MyBusinessOperation:OnTeardown() is called")
        return

    def OnMessage(self, messageInput):
        if hasattr(messageInput,"_IsA"):
            if messageInput._IsA("Ens.StringRequest"):
                self.LOGINFO(f"[Python] ...This iris class is a Ens.StringRequest with this message {messageInput.StringValue}")
        self.LOGINFO("Operation OnMessage")
        response = MyResponse.MyResponse("...MyBusinessOperation:OnMessage() echos")
        return response

1.3. コンポーネントの登録

ObjectScript は不要です

0 0
0 272

開発者の皆さん、こんにちは。

Python Native APIを利用すると、IRISにあるグローバル変数の参照/更新をPythonから行えたり、メソッドやルーチンをPythonから実行することができます。

この記事では「AWS Lambda の IRIS Python Native API IRIS」の記事を参考に、NativeAPIを利用してPythonからIRISに接続するAWS Lambda関数を作成する流れで必要となる、レイヤー作成と関数用コードの作成例をご紹介します。

※ 事前にAWSのEC2インスタンス(Ubuntu 20.04を選択)にIRISをインストールした環境を用意した状態からの例でご紹介します。

0 0
0 185

開発者の皆さん、こんにちは!

PythonでExcelからPDFへ変換を行うには、pywinを使うとできるらしいので、IRISにあるデータをDataframeに設定した後Excelに出力し、ExcelからPDFに変換する流れを、Embedded Pythonで試してみました。

メモ:pywinはWindows環境下で動くモジュールのようです。

Excelに出力するデータですが、例では、SELECTの結果をDataframeに格納する方法を利用しています。グローバル変数の情報をDataframeに格納する方法については、以下の記事で詳しくご紹介しています。ぜひご参照ください。
Embedded Python で IRIS グローバル($LB) を Pandas Dataframe に変換する方法

0 0
0 866

これは、InterSystems FAQサイトの記事です。

Pythonで、IRISサーバ外部から、IRISの処理を呼び出したりIRISのデータを扱いたい場合には、Native API for Pythonを使用します。
モジュールのインポートは、

import irisnative


で、行います。

詳細は、下記ドキュメント及び、各関連トピックをご参照ください。
[ドキュメント] InterSystems Native SDK for Python

0 0
0 11

Python から InterSystems IRIS へ接続する方法の1つである「PyODBC」(※)の利用方法をご説明します。

※ Python からのアクセスは、PyODBCの他に、Native API を利用した接続方法もあります。Native APIを利用してIRISのグローバル変数にアクセスする方法については、別の記事でご説明します。

0 4
0 653

Python 3をHealthShareにバインディングした深層学習デモキット(パート1)
キーワード: Anaconda、Jupyterノートブック、TensorFlow GPU、ディープラーニング、Python 3、HealthShare

1. 目的

この「パート1」では、Python 3をHealthShare 2017.2.1インスタンスにバインドして、「単純」かつ一般的なディープラーニングデモ環境をセットアップする方法を段階的に簡単に説明します。 私は手元にあるWin10ノートパソコンを使用しましたが、このアプローチはMacOSとLinuxでも同じように実装できます。

先週、PYPL Indexにおいて、Pythonが最も人気のある言語としてJavaを超えたことが示されました。 TensorFlowも研究や学術の分野において非常に人気のある強力な計算エンジンです。 HealthShareは、ケア提供者に患者の統一介護記録を提供するデータプラットフォームです。

0 0
0 174

ObjectScript カーネルのロゴ Jupyter Notebook は、多数の異なるマークアップ言語とプログラミング言語でコードを実行できるセルで構成された対話型環境です。

Jupyter はこれを実現するために適切なカーネルに接続しなければなりませんが、 ObjectScript カーネルがなかったため、それを作成することにしました。

こちらから試すことができます。

結果を少し覗いてみましょう。

0 0
0 98