2017-01-20 10 views
2

Возможно ли обмен информацией (например, учетными данными) на нескольких ноутбуках в проекте DSX, например. с переменными среды?Как обмениваться информацией между ноутбуками в проекте DSX

Например, приложение Cloud Foundry в Bluemix имеет параметр управления, в котором могут быть определены переменные среды, существует ли аналогичная концепция для проекта DSX (я не мог видеть ничего в различных настройках уровня проекта).

ответ

2

Отдельные ноутбуки имеют отдельные промежутки времени в фоновом режиме, и в настоящий момент невозможно обменяться учетными данными между ноутбуками, указав переменные среды. Но есть вспомогательные методы для большинства очевидных требований к учетным данным в проекте. Это называется методом «Вставить в код».

Например: если у вас есть хранилище объектов, связанное с вашим проектом.

  1. Выберите вкладку «Данные» в верхней панели.
  2. Добавить файл в хранилище объектов путем просмотра или простого перетаскивания.
  3. Вставьте учетные данные этого контейнера хранилища объектов в блокнот, выбрав опцию «Ввести учетные данные», кроме файла в правой панели.
  4. Затем вы можете напрямую вставить эти учетные данные (шаг 3) в любой другой блокнот в этом проекте.

Помимо «Вставить в код» есть другие вспомогательные функции, такие как «Вставить SparkR dataframe», «Pandas dataframe» и т. Д., Чтобы ускорить процесс анализа ученых-данных. Надеюсь, это было немного полезно.

2

FYI - Я добавил запрос функции на uservoice, чтобы позволить службам Bluemix быть связанными с проектом, а затем доступ к учетным данным будет таким же образом, как и учетные данные доступа к приложению для приложений Bluemix. Пожалуйста, проголосуйте, если вы считаете, что это было бы полезно.


В настоящее время один шаблон я использую довольно много это создать ноутбук в моем проекте, который используется для сохранения учетных данных в файл на DSX:

! echo '{ "username": "xxxx", "password": "xxxx", ... }' > cloudant_creds.json 

Этот файл теперь доступен для всех ваших ноутбуков в проекте. ПРИМЕЧАНИЕ: файл сохраняется в файловой системе искровой службы. Если вы используете ту же самую искровую службу в других проектах dsx, они также смогут получить доступ к файлу.

Учетные данные для облачных обычно включают в себя другие поля, такие как хост, я не показывал эти поля здесь, поэтому могу привести пример простым. Я указал, что есть больше полей с .... Обычно я копирую этот 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() 
+0

Спасибо, что это именно то, что моя конечная цель была, подключившись к службе IBM Bluemix Streaming Analytic, я проголосовал за запрос функции. –

+0

Это также сделает ваш ноутбук работать, только если этот файл существует в этом месте, поэтому вы торгуете воспроизводимостью в пользу отсутствия учетных данных в ячейке кода ноутбука. Хорошо это или плохо, зависит от вашего варианта использования (просто хотел упомянуть здесь, для других, читающих это). –

+0

Я согласен, что иногда лучше внедрять учетные данные, особенно если вы работаете только в небольшой команде. Однако даже наличие жестких кодированных учетных данных в ноутбуке не дает вам воспроизводимой среды. Если вы загружаете, делите или сохраняете ноутбук до git, и у вас есть учетные данные, жестко закодированные в ячейке ноутбука, скорее всего, вы хотите, чтобы ячейка была скрытой ячейкой, что означает, что вы не сможете воспроизвести среду в любом случае? –

 Смежные вопросы

  • Нет связанных вопросов^_^