AWS: облачная информация для создания ноутбука Glue jupyter и конечной точки разработчика - PullRequest
0 голосов
/ 12 февраля 2020

Просматривая документацию по формированию облаков, я не вижу способа раскрутить Glue DevEndpoint, ноутбук Jupyter и заставить ноутбук использовать только что созданный DevEndpoint.

Может ли кто-нибудь помочь?

Ответы [ 2 ]

1 голос
/ 21 февраля 2020

Я нашел решение, и ключ использует объект формирования облака AWS :: SageMaker :: NotebookInstanceLifecycleConfig, чтобы подключить к событиям записной книжки OnStart и OnCreate.

Записные книжки, созданные в части Glue консоли можно найти в SageMaker, и там вы можете увидеть связанный ресурс LifecycleConfig и его код.

Для полноты этого вопроса, пожалуйста, смотрите ниже код, который используется в данный момент для OnStart и OnCreate, когда вы создать блокнот Jupyter из Glue.

Обратите внимание, что при использовании этого метода вновь созданный блокнот обладает точными функциональными возможностями блокнота, созданного через консоль, но он будет виден только в части консоли SageMaker.

#!/bin/bash
set -ex
[ -e /home/ec2-user/glue_ready ] && exit 0

mkdir -p /home/ec2-user/glue
cd /home/ec2-user/glue

# Write dev endpoint in a file which will be used by daemon scripts
glue_endpoint_file="/home/ec2-user/glue/glue_endpoint.txt"

if [ -f $glue_endpoint_file ] ; then
    rm $glue_endpoint_file
fi
echo "https://glue.eu-west-2.amazonaws.com" >> $glue_endpoint_file

ASSETS=s3://aws-glue-jes-prod-eu-west-2-assets/sagemaker/assets/

aws s3 cp ${ASSETS} . --recursive

bash "/home/ec2-user/glue/Miniconda2-4.5.12-Linux-x86_64.sh" -b -u -p "/home/ec2-user/glue/miniconda"

source "/home/ec2-user/glue/miniconda/bin/activate"

tar -xf autossh-1.4e.tgz
cd autossh-1.4e
./configure
make
sudo make install
sudo cp /home/ec2-user/glue/autossh.conf /etc/init/

mkdir -p /home/ec2-user/.sparkmagic
cp /home/ec2-user/glue/config.json /home/ec2-user/.sparkmagic/config.json

mkdir -p /home/ec2-user/SageMaker/Glue\ Examples
mv /home/ec2-user/glue/notebook-samples/* /home/ec2-user/SageMaker/Glue\ Examples/

# ensure SageMaker notebook has permission for the dev endpoint
aws glue get-dev-endpoint --endpoint-name somiron-dfe-poc-GlueDevEndpoint --endpoint https://glue.eu-west-2.amazonaws.com

# Run daemons as cron jobs and use flock make sure that daemons are started only iff stopped
(crontab -l; echo "* * * * * /usr/bin/flock -n /tmp/lifecycle-config-v2-dev-endpoint-daemon.lock /usr/bin/sudo /bin/sh /home/ec2-user/glue/lifecycle-config-v2-dev-endpoint-daemon.sh") | crontab -

(crontab -l; echo "* * * * * /usr/bin/flock -n /tmp/lifecycle-config-reconnect-dev-endpoint-daemon.lock /usr/bin/sudo /bin/sh /home/ec2-user/glue/lifecycle-config-reconnect-dev-endpoint-daemon.sh") | crontab -

source "/home/ec2-user/glue/miniconda/bin/deactivate"

rm -rf "/home/ec2-user/glue/Miniconda2-4.5.12-Linux-x86_64.sh"

sudo touch /home/ec2-user/glue_ready
0 голосов
/ 21 февраля 2020

Вы можете создать конечную точку разработки с помощью AWS :: Glue :: DevEndpoint . К сожалению, на данный момент, есть способ создать сервер ноутбука, подключенный к конечной точке, используя CloudFormation. Единственный путь через консоль AWS Glue ...

...