Я раскручиваю недолговечные скопления и уничтожаю их, как только цель достигнута. Однако я хотел бы сохранить свои записные книжки, созданные в каталоге / datalab / notebooks, а затем скопировать их в тот же каталог при создании нового кластера, чтобы были доступны все записные книжки, созданные в предыдущем кластере.
Я могу скопировать записные книжки в корзину GCS перед выключением, но не могу скопировать их обратно из GCS в / datalab / network после создания нового кластера, так как каталог / datalab / notebooks создается при запуске сценария запуска запускается или после завершения сценария инициализации datalab.sh.
Где создается этот каталог или как я могу как-то скопировать записные книжки из моей корзины GCS в / datalab / notebooks?
Ключ в том, что / datalab / notebooks должен быть доступен, когда эта копия имеет место.
Обновление
Не удалось создать кластер с приведенной ниже ошибкой.
gsutil cp 'gs://dataproc-datalab-srinid/notebooks/*' /datalab/notebooks/
CommandException: Destination URL must name a directory, bucket, or bucket
subdirectory for the multiple source form of the cp command.
Однако, когда я вхожу в мастер и просматриваю журнал dataproc-initialization-script-2.log, копирование прошло успешно (см. Ниже).
+ '[' -d /datalab/notebooks ']'
+ echo 'Sleeping since /datalab/notebooks doesnt exist yet...'
Sleeping since /datalab/notebooks doesnt exist yet...
+ sleep 50
+ '[' -d /datalab/notebooks ']'
+ gsutil cp 'gs://dataproc-datalab-srinid/notebooks/*' /datalab/notebooks/
Copying gs://dataproc-datalab-srinid/notebooks/BABA_notebook.ipynb...
/ [0 files][ 0.0 B/ 40.8 KiB] ^M/ [1 files][ 40.8 KiB/ 40.8 KiB] ^MCopying gs://dataproc-datalab-srinid/notebooks/Untitled Notebook.ipynb...
/ [1 files][ 40.8 KiB/ 67.7 KiB] ^M/ [2 files][ 67.7 KiB/ 67.7 KiB] ^MCopying gs://dataproc-datalab-srinid/notebooks/hello.ipynb...
/ [2 files][ 67.7 KiB/ 68.7 KiB] ^M/ [3 files][ 68.7 KiB/ 68.7 KiB] ^MCopying gs://dataproc-datalab-srinid/notebooks/test-Copy1.ipynb...
/ [3 files][ 68.7 KiB/ 69.7 KiB] ^M/ [4 files][ 69.7 KiB/ 69.7 KiB] ^M
==> NOTE: You are performing a sequence of gsutil operations that may
run significantly faster if you instead use gsutil -m cp ... Please
see the -m section under "gsutil help options" for further information
about when gsutil -m can be advantageous.
Copying gs://dataproc-datalab-srinid/notebooks/test.ipynb...
/ [4 files][ 69.7 KiB/ 70.7 KiB] ^M-^M- [5 files][ 70.7 KiB/ 70.7 KiB] ^M
Operation completed over 5 objects/70.7 KiB.
код
if [ -d '/datalab/notebooks' ]; then
gsutil cp gs://${BUCKET}/notebooks/* /datalab/notebooks/
else
echo 'Sleeping since /datalab/notebooks doesnt exist yet...'
sleep 50
if [ -d '/datalab/notebooks' ]; then
gsutil cp gs://${BUCKET}/notebooks/* /datalab/notebooks/
else
echo "Even after 50secs, the directory is not found, waiting for another 30secs.."
sleep 30
gsutil cp gs://${BUCKET}/notebooks/* /datalab/notebooks/
fi
fi