No Data Studio, você pode criar uma imagem a partir de um ambiente de desenvolvimento pessoal e usá-la para desenvolvimento de dados ou em outros ambientes de desenvolvimento pessoal. Este tópico descreve como criar uma imagem a partir de um ambiente de desenvolvimento pessoal.
Contexto
Durante o desenvolvimento e os testes em um ambiente de desenvolvimento pessoal, você pode precisar de diferentes dependências de terceiros. Instale as dependências necessárias no seu ambiente e, em seguida, crie uma imagem personalizada a partir dele para compartilhar com outros ambientes de desenvolvimento pessoal e workspaces.
As imagens criadas a partir de um ambiente de desenvolvimento pessoal são compatíveis com os tipos de tarefa Notebook, Python e Shell. Você não pode modificar o tipo de tarefa ou outras configurações após a criação da imagem.
Pré-requisitos
VPC: Create a VPC.
DataWorks: Create a personal development environment instance e anexe-a a uma VPC.
-
Alibaba Cloud Container Registry (ACR):
Configure o ACR criando uma creating an Enterprise Edition instance, um a namespace e um an image repository, além de configurar o configuring VPC access control.
Ative o Cloud DNS PrivateZone. Para obter informações sobre faturamento, consulte Product Billing.
A VPC anexada à instância do ambiente de desenvolvimento pessoal, a VPC attached to Alibaba Cloud Container Registry (ACR) e a VPC anexada ao grupo de recursos de teste para publicação de imagem devem ser a mesma.
Se o seu ambiente de desenvolvimento pessoal precisar buscar dependências de terceiros na internet, configure o acesso à internet para a VPC. Para obter mais detalhes, consulte Use the SNAT feature of an Internet NAT gateway to access the internet.
Etapa 1: Acesse o ambiente de desenvolvimento pessoal
Acesse a página Workspaces no console do DataWorks. Na barra de navegação superior, selecione a região desejada. Encontre o workspace desejado e escolha na coluna Actions.
Na parte superior da página, clique em Personal development environment · Select e escolha uma instância de ambiente de desenvolvimento pessoal existente.
Etapa 2: Crie uma imagem a partir da instância
-
Aprimore o ambiente de desenvolvimento pessoal antes de criar uma imagem a partir da instância.
ImportanteQuando você enhance the personal development environment, você pode install open-source dependencies ou install third-party dependencies.
Após configurar o ambiente de desenvolvimento pessoal, clique na lista suspensa Personal development environment · Select na parte superior da página e selecione Instance Management para abrir o painel da lista de instâncias.
-
Crie uma imagem personalizada.
Na lista de instâncias, encontre a instância de destino e clique em Operation na coluna Actions. Configure a ACR Instance, o Namespace, o Image Repository, a Image Version e o Task Type usando os recursos da seção Prerequisites.
Parâmetro
Descrição
Image Name
Insira um nome personalizado para a imagem do DataWorks.
ACR Instance
Selecione uma instância do ACR. Para obter informações sobre como criar uma instância do ACR, consulte Create an Enterprise Edition instance.
Namespace
Selecione um namespace da instância do ACR. Para mais informações, consulte Create a namespace.
Image Repository
Selecione um repositório de imagens da instância do ACR. Para mais informações, consulte Create an image repository.
Image Version
Insira uma versão de imagem personalizada.
Synchronize to MaxCompute
O valor padrão é No.
NotaEsta opção está disponível apenas quando a ACR Instance selecionada é Standard Edition ou superior.
Se você selecionar Yes, uma imagem personalizada do DataWorks será gerada. Quando a imagem for publicada no DataWorks, ela também será compilada como uma imagem do MaxCompute. Para mais informações, consulte Create a MaxCompute image from a personal development environment.
Se você selecionar No, apenas uma imagem personalizada do DataWorks será gerada. A imagem não será compilada como uma imagem do MaxCompute.
Task Type
Selecione os tipos de tarefa que podem usar a imagem.
Notebook
Python
Shell
-
Após concluir a configuração, clique em Confirm para iniciar a criação da imagem.
ImportanteAo criar a imagem, certifique-se de que a VPC anexada à instância do ambiente de desenvolvimento pessoal e a VPC attached to Alibaba Cloud Container Registry (ACR) sejam a mesma.
O processo de criação da imagem pode levar de 1 a 5 minutos, dependendo do tamanho da imagem e das condições da rede.
Após a criação, você não pode modificar essas imagens no Image Management.
Aguarde a conclusão da criação da imagem.
Etapa 3: Publique a imagem personalizada
Após a criação da imagem personalizada, acesse o console do DataWorks e navegue até a aba . Encontre a imagem de destino e, em seguida, execute o Test e o Publish. Atente-se ao seguinte durante o teste e a publicação:
Ao testar a imagem personalizada, selecione um grupo de recursos Serverless.
A VPC anexada ao grupo de recursos Serverless utilizada para teste e publicação deve ser a mesma VPC configurada no Alibaba Cloud Container Registry (ACR).
Apenas imagens que foram aprovadas no teste podem ser publicadas.
Se a sua imagem personalizada precisar buscar pacotes de terceiros na internet e o teste atingir o tempo limite ou falhar, verifique se a VPC anexada ao Test Resource Group tem acesso à internet. Para configurar o acesso à internet para a VPC, consulte Use the SNAT feature of an Internet NAT gateway to access the internet.
Etapa 4: Atribua a imagem ao workspace
Execute as operações a seguir para alterar o workspace ao qual a imagem pertence.
Na aba do console do DataWorks, encontre a imagem personalizada Published.
Na coluna Operation da imagem de destino, clique em para vincular a imagem personalizada a um workspace.
Etapa 5: Use a imagem personalizada
Após atribuir a imagem a um workspace, utilize-a para desenvolver nós Notebook, Python ou Shell. As etapas a seguir usam um nó Python como exemplo:
No painel Project Directory no lado esquerdo da página de desenvolvimento de dados, clique no ícone
e escolha para criar um nó Python.-
Após concluir o desenvolvimento do nó, clique em Run Configuration à direita. Configure o Resource Group e selecione a Image necessária para o seu código Python.
Além disso, defina o Compute CU (por exemplo,
0.5). Se nenhuma imagem estiver disponível, clique em New Image para criar uma. Clique no ícone
para depurar o código Python.-
Após a execução de depuração ser concluída com êxito, clique em Scheduling Settings. Na aba Scheduling Strategy, configure a Image para o agendamento periódico do nó.
NotaA imagem configurada em Scheduling Settings deve ser a mesma imagem configurada em Run Configuration.
Para nós Notebook, você pode configurar uma imagem apenas em Scheduling Settings.
Após definir as configurações de agendamento, clique em Save e em Publish para o nó Python.
Próximas etapas
Imagem persistente: Você pode compilar uma imagem personalizada em uma imagem persistente, o que elimina a necessidade de reimplantar o ambiente da imagem a cada execução. Reutilizar o mesmo ambiente garante consistência e reduz os custos de tempo de execução, computação e tráfego. Para saber mais, consulte Build a persistent image.
Apêndice: Aprimore um ambiente de desenvolvimento pessoal
As dependências padrão de um ambiente de desenvolvimento pessoal do DataWorks podem não atender a todas as suas necessidades de desenvolvimento. Instale dependências adicionais para aprimorar o ambiente.
Instale dependências de código aberto
Você pode instalar dependências de código aberto na sua instância de ambiente de desenvolvimento pessoal. O exemplo a seguir mostra como instalar a biblioteca jieba.
Clique no ícone
no canto inferior esquerdo da página de desenvolvimento de dados para abrir o terminal.-
No terminal, execute o seguinte comando para instalar a biblioteca jieba.
pip install jieba● /mnt/workspace> pip install jieba Looking in indexes: https://mirrors.cloud.aliyuncs.com/pypi/simple Collecting jieba Downloading https://mirrors.cloud.aliyuncs.com/pypi/packages/c6/cb/18eeb235f833b726522d7ebed54f2278ce28ba9438e3135ab0278d9792a2/jieba-0.42.1.tar.gz (19.2 MB) ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 19.2/19.2 MB 101.0 MB/s eta 0:00:00 Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Building wheels for collected packages: jieba Building wheel for jieba (pyproject.toml) ... done Created wheel for jieba: filename=jieba-0.42.1-py3-none-any.whl size=19314508 sha256=5d2a212c7aaa36057e04dde6c183c1d23da40d2452831dd8b2d00482d1a963cd Stored in directory: /root/.cache/pip/wheels/70/b3/5f/b9d1821b0e0b90640bf536c9f79f039cafbec7de737a9b8c49 Successfully built jieba Installing collected packages: jieba Successfully installed jieba-0.42.1 WARNING: Running pip as the 'root' user can result in broken permissions and conflicting behaviour with the system package manager. It is recommended to use a virtual environment instead: https://pip.pypa.io/warnings/venv -
Depois de instalar a biblioteca jieba, crie um arquivo
.pyno diretório . Edite e salve o seguinte código no arquivo Python.import sys import jieba '''Get the system input parameter arg''' for arg in sys.argv: print(f"argv: {arg}") '''Call the jieba class to tokenize the input data and print the output''' seg_list = jieba.cut(sys.argv[1], cut_all=False) print("Default Mode: " + "/ ".join(seg_list)) print('finish')Após concluir a edição, clique em
para salvar o código Python. -
No terminal, execute o seguinte comando para executar o arquivo Python.
python file_name.py "This is a big data governance platform document"/mnt/workspace> python xxx.py "This is a big data governance platform document" argv: xxx.py argv: This is a big data governance platform document Building prefix dict from the default dictionary ... Loading model from cache /tmp/jieba.cache Loading model cost 0.914 seconds. Prefix dict has been built successfully. Default Mode: This/ is/ a/ big/ data/ governance/ platform/ document finish
Uma execução bem-sucedida confirma que a biblioteca jieba foi instalada corretamente.
Instale dependências de terceiros
Clone com Git
Para clonar um projeto Python usando git clone, você deve configurar o acesso à rede pública para a VPC. Para obter mais detalhes, consulte Configure an Internet NAT gateway.
Clique no ícone
no canto inferior esquerdo da página de desenvolvimento de dados para abrir o terminal.-
No terminal, execute o seguinte comando para acessar a pasta do workspace:
cd /mnt/workspace -
Clone o projeto Python do Git para a pasta do workspace.
# Replace the URL with your own repository URL. git clone https://github.com/example/Example-Python.git -
Instale o projeto Python clonado.
-
Acesse o diretório do projeto Python clonado.
cd Example-Python -
Instale o projeto Python.
pip install ./mnt/workspace/xxx>> pip install . Looking in indexes: https://mirrors.cloud.aliyuncs.com/pypi/simple Processing /mnt/workspace/xxx Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Requirement already satisfied: requests>=2.24.0 in /usr/local/lib/python3.11/site-packages (from my-python-lib==0.1) (2.32.3) Requirement already satisfied: numpy in /usr/local/lib/python3.11/site-packages (from my-python-lib==0.1) (1.26.4) Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/site-packages (from requests>=2.24.0->my-python-lib==0.1) (3.4.0) Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/site-packages (from requests>=2.24.0->my-python-lib==0.1) (3.10) Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/site-packages (from requests>=2.24.0->my-python-lib==0.1) (2.2.3) Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.11/site-packages (from requests>=2.24.0->my-python-lib==0.1) (2024.8.30)
-
Envie um projeto
-
Envie o projeto Python local para o diretório e use o terminal para acessar a pasta do projeto.
cd /mnt/workspace/"python_project_folder" -
Execute o seguinte comando para instalar o projeto Python.
pip install ./mnt/workspace/xxx>> pip install . Looking in indexes: https://mirrors.cloud.aliyuncs.com/pypi/simple Processing /mnt/workspace/xxx Installing build dependencies ... done Getting requirements to build wheel ... done Preparing metadata (pyproject.toml) ... done Requirement already satisfied: requests>=2.24.0 in /usr/local/lib/python3.11/site-packages (from my-python-lib==0.1) (2.32.3) Requirement already satisfied: numpy in /usr/local/lib/python3.11/site-packages (from my-python-lib==0.1) (1.26.4) Requirement already satisfied: charset-normalizer<4,>=2 in /usr/local/lib/python3.11/site-packages (from requests>=2.24.0->my-python-lib==0.1) (3.4.0) Requirement already satisfied: idna<4,>=2.5 in /usr/local/lib/python3.11/site-packages (from requests>=2.24.0->my-python-lib==0.1) (3.10) Requirement already satisfied: urllib3<3,>=1.21.1 in /usr/local/lib/python3.11/site-packages (from requests>=2.24.0->my-python-lib==0.1) (2.2.3) Requirement already satisfied: certifi>=2017.4.17 in /usr/local/lib/python3.11/site-packages (from requests>=2.24.0->my-python-lib==0.1) (2024.8.30)
Envie um programa
Para instalar um programa Python no ambiente de desenvolvimento pessoal, execute as operações a seguir.
-
Envie o pacote compactado do programa Python local para o diretório . Em seguida, use o terminal para descompactar o pacote e visualizar o caminho de compilação do Python.
cat 'decompressed_python_project_name'/bin/pip -
Crie o caminho de compilação do Python.
# Create the Python compile path that you found. mkdir -p 'python_compile_path_found' -
Mova a pasta descompactada para o caminho de compilação utilizado pelo Python durante a compilação.
mv 'decompressed_python_project_name' /'python_compile_path_found' -
Substitua os pacotes padrão do Python pelo seu programa Python.
for src in idle3 pydoc3 python3 python3-config pip3; do \ dst="$(echo "$src" | tr -d 3)"; \ [ -s "/usr/local/bin/$src" ]; \ [ ! -e "/usr/local/bin/$dst" ]; \ mv /usr/local/bin/$dst /usr/local/bin/${dst}_bak ln -svT "python_compile_path_found/bin/$src" "/usr/local/bin/$dst"; \ done
Após instalar, verifique se as dependências de terceiros funcionam conforme o esperado ao executar e depurar seu código no ambiente de desenvolvimento pessoal.
> Change Workspace
no canto inferior esquerdo da página de desenvolvimento de dados para abrir o terminal.