DSXプロジェクトの複数のノートブックで情報(資格情報など)を共有することは可能ですか?環境変数とは?DSXプロジェクトのノートブックで情報を共有する方法
たとえば、BluemixのCloud Foundryアプリケーションでは、環境変数を定義できるコントロール設定がありますが、DSXプロジェクトと同様の概念があります(さまざまなプロジェクトレベルの設定では何も表示されませんでした)。
DSXプロジェクトの複数のノートブックで情報(資格情報など)を共有することは可能ですか?環境変数とは?DSXプロジェクトのノートブックで情報を共有する方法
たとえば、BluemixのCloud Foundryアプリケーションでは、環境変数を定義できるコントロール設定がありますが、DSXプロジェクトと同様の概念があります(さまざまなプロジェクトレベルの設定では何も表示されませんでした)。
個別のノートブックはバックグラウンドで別々のランタイムを持ち、環境変数を定義することで、ノートブック間でクレデンシャルを共有することはできません。しかし、プロジェクトで最も明白な資格要件のためのヘルパーメソッドがあります。これは「コードに挿入」メソッドと呼ばれます。
たとえば、プロジェクトにオブジェクトストアが関連付けられている場合などです。
「Insert to code」以外に、「SparkR dataframeの挿入」、「Pandas dataframe」などの他のヘルパー機能があり、データ科学者の分析プロセスをスピードアップします。ほんの少し役に立ちました。
FYI - 私はuservoiceに機能要求を追加して、Bluemixサービスをプロジェクトにバインドし、Bluemixアプリケーションがアクセスクレデンシャルと同じ方法でクレデンシャルにアクセスできるようにしました。これが役に立つと思うなら、投票してください。
現在、私はかなり多くを使用し一つのパターンがDSX上のファイルに資格情報を保存するために使用された私のプロジェクトでノートブックを作成することです:
! echo '{ "username": "xxxx", "password": "xxxx", ... }' > cloudant_creds.json
ファイルは今、すべてが利用可能であることあなたのノートブックをプロジェクトに残してください。 注記:ファイルはスパークサービスファイルシステムに保存されます。他のdsxプロジェクトで同じsparkサービスを使用している場合、ファイルにアクセスすることもできます。
クラウドの資格情報には、通常、ホストなどの他のフィールドが含まれています。これらのフィールドはここには表示されていません。私は...
のフィールドがさらにあることを示しました。私は通常、このjsonをbluemixサービス認証情報フィールドからコピーします。あなたの他のノートブックで
、あなたは資格証明書にこのような何か読んでいました:
with open('cloudant_creds.json') as data_file:
sourceDB = json.load(data_file)
をあなたは、このような資格情報を参照することができます。
dfReader = sqlContext.read.format("com.cloudant.spark")
dfReader.option("cloudant.host", sourceDB.host)
if sourceDB.username:
dfReader.option("cloudant.username", sourceDB.username)
if sourceDB.password:
dfReader.option("cloudant.password", sourceDB.password)
df = dfReader.load(sourceDB.database).cache()
おかげで、それは私の最終目標だった正確に何です、 IBM Bluemix Streaming Analyticサービスに接続すると、機能リクエストに投票しました。 –
これはまた、そのファイルがその場所に存在する場合にのみノートブックを動作させるため、ノートブックコードセルに資格情報を持たないことを前提に再現性を犠牲にしています。それが良いか悪いかは、ユースケースによります(ちょうどこれを読んでいる他の人には言及したいと思います)。 –
小規模なチームで働いている場合は特に、資格情報を埋め込む方がよいことに同意します。ただし、ノートブックにハードコードされた資格情報を持っていても、再現可能な環境は得られません。ノートブックをダウンロードしたり、共有したり、gitに保存したり、ノートブックのセルに資格情報がハードコードされている場合は、そのセルを隠しセルにして、環境を再現できないことを意味します。 –