2017-01-24 1 views

Antwort

4

Während das Verfahren in einer anderen Antwort präsentiert (suchen Sie nach bestimmten Umgebungsvariablen) heute funktioniert, kann es stoppen in der Zukunft zu arbeiten. Dies ist keine offizielle API, die DSX verfügbar macht. Es wird natürlich auch nicht funktionieren, wenn jemand entscheidet, diese Umgebungsvariablen auf ihrem Nicht-DSX-System zu setzen.

Meine Annahme ist, dass "Nein, es gibt keine Möglichkeit, zuverlässig festzustellen, ob das Notebook auf DSX läuft".

Im Allgemeinen (meiner Meinung nach) Notebooks sind nicht wirklich als Artefakte konzipiert, die Sie beliebig überall einsetzen können; Es wird immer jemanden geben müssen, der den "Anwendungsentwickler" Hut trägt und sie verwandelt - wie man das macht, könnte man in eine Abreißzelle innerhalb des Notebooks stecken.

+0

Die 'RUNTIME_ENV_ *' - Variablen sind eine Art offizielles API, um zwischen verschiedenen Kontexten von Spark as a Service in Bluemix zu unterscheiden. Aber im Allgemeinen stimme ich Ihrer Einschätzung zu. –

1

Sie können Ihre Umgebung drucken oder nach einer bestimmten Umgebungsvariablen suchen. Ich bin sicher, dass Sie einige Unterschiede finden werden.

Zum Beispiel:

import os 
if os.environ.get('SERVICE_CALLER'): 
    print ('In DSX')  
else: 
    print ('Not in DSX') 
+0

Welche Umgebungsvariable? Ich habe die aktuell in DSX definierten gescannt und obwohl es viele gibt, die sich von einer lokalen Jupyter-Installation unterscheiden, gibt es nur eine, die DSX-spezifisch erscheint: APP_ENV_CDSX_NOTEBOOKS_API. Ist das ein guter, auf den man sich verlassen kann? –

+0

Zum Beispiel: USER –

+0

Ich könnte USER in meiner eigenen lokalen Maschine für einen anderen Zweck verwenden. Es ist nicht sehr 'DSX' spezifisch. –

Verwandte Themen