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.
Contexto
Durante o desenvolvimento e os testes em um ambiente de desenvolvimento pessoal, diferentes dependências de terceiros podem ser necessárias. Instale as dependências necessárias no seu ambiente e 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 suportam os tipos de tarefa Notebook, Python e Shell. Não é possível modificar o tipo de tarefa ou outras configurações após a criação da imagem.
Pré-requisitos
vpc: Criar uma VPC.
DataWorks: Criar uma instância de ambiente de desenvolvimento pessoal e anexá-la a uma VPC.
-
Alibaba Cloud Container Registry (ACR):
configure o ACR criando uma instância Enterprise Edition, um namespace e um repositório de imagens, além de configurar o controle de acesso à VPC.
Ative o Cloud DNS PrivateZone. Para informações sobre faturamento, consulte Faturamento do product.
A VPC anexada à instância do ambiente de desenvolvimento pessoal, a VPC anexada ao Alibaba Cloud Container Registry (ACR) e a VPC anexada ao grupo de recursos de teste para publicação de imagem devem ser a mesma VPC.
Se o seu ambiente de desenvolvimento pessoal precisar buscar dependências de terceiros na internet, configure o acesso à internet para a VPC. Para mais informações, consulte Usar o recurso SNAT de um gateway NAT da Internet para acessar a internet.
Etapa 1: Acessar 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. Localize 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: Criar uma imagem a partir da instância
-
Aprimore o ambiente de desenvolvimento pessoal antes de criar uma imagem a partir da instância.
ImportanteAo aprimorar o ambiente de desenvolvimento pessoal, você pode instalar dependências open-source ou instalar dependências de terceiros.
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, localize a instância de destino e clique em Operation na coluna Actions. Configure os campos ACR Instance, Namespace, Image Repository, Image Version e Task Type usando os recursos da seção Pré-requisitos.
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 Criar uma instância Enterprise Edition.
Namespace
selecione um namespace da instância do ACR. Para mais informações, consulte Criar um namespace.
Image Repository
selecione um repositório de imagens da instância do ACR. Para mais informações, consulte Criar um repositório de imagens.
Image Version
insira uma versão personalizada para a imagem.
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 Criar uma imagem do MaxCompute a partir de um ambiente de desenvolvimento pessoal.
-
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 anexada ao Alibaba Cloud Container Registry (ACR) sejam a mesma.
A criação da imagem pode levar de 1 a 5 minutos, dependendo do tamanho da imagem e das condições da rede.
Depois de criadas, não é possível modificar essas imagens no Gerenciamento de Imagens.
Aguarde a conclusão da criação da imagem.
Etapa 3: Publicar a imagem personalizada
Após criar a imagem personalizada, acesse o console do DataWorks e acesse a aba . Localize a imagem de destino, execute o Test e faça a Publish dela. Observe os seguintes pontos 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 usada para teste e publicação deve ser a mesma VPC configurada no Alibaba Cloud Container Registry (ACR).
Somente imagens que passaram no teste podem ser publicadas.
Se sua imagem personalizada precisar buscar pacotes de terceiros na internet e o teste expirar ou falhar, verifique se a VPC anexada ao Test Resource Group tem acesso à internet. Para configurar o acesso à internet na VPC, consulte Usar o recurso SNAT de um gateway NAT da Internet para acessar a internet.
Etapa 4: Atribuir imagem ao workspace
Na aba do console do DataWorks, localize a imagem personalizada Published.
Na coluna Operation da imagem de destino, clique em para vincular a imagem personalizada a um workspace.
Etapa 5: Usar a imagem personalizada
Após atribuir a imagem a um workspace, use-a para desenvolver nós Notebook, Python ou Shell. Os passos 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 terminar 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 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 bem-sucedida, 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, a configuração de imagem só é possível em Scheduling Settings.
Após configurar as definições de agendamento, Save e Publish o nó Python.
Próximos passos
Imagem persistente: Você pode transformar uma imagem personalizada em uma imagem persistente, eliminando a necessidade de reimplantar o ambiente da imagem a cada execução. Reutilizar o mesmo ambiente garante consistência e reduz custos de tempo de execução, computação e tráfego. Para mais informações, consulte Criar uma imagem persistente.
Apêndice: Aprimorar um ambiente de desenvolvimento pessoal
As dependências padrão em 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.
Instalar dependências open-source
Você pode instalar dependências open-source na instância do seu ambiente de desenvolvimento pessoal. O exemplo a seguir instala 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 comando a seguir 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 -
Após instalar a biblioteca jieba, crie um arquivo
.pyno diretório . Edite e salve o código a seguir 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 terminar a edição, clique em
para salvar o código Python. -
No terminal, execute o comando a seguir para executar o arquivo Python.
python file_name.py "我是大数据治理开发平台文档"/mnt/workspace> python xxx.py "我是大数据治理开发平台文档" argv: xxx.py argv: 我是大数据治理开发平台文档 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: 我/ 是/ 大/ 数据/ 治理/ 开发/ 平台/ 文档 finish
Uma execução bem-sucedida confirma que a biblioteca jieba foi instalada corretamente.
Instalar dependências de terceiros
Clonar com Git
Para clonar um projeto Python usando git clone, configure o acesso à rede pública para a VPC. Para mais informações, consulte Configurar um gateway NAT da Internet.
Clique no ícone
no canto inferior esquerdo da página de desenvolvimento de dados para abrir o terminal.-
No terminal, execute o comando a seguir para ir até 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)
-
Fazer upload de um projeto
-
Faça o upload do projeto Python local para o diretório e use o terminal para navegar até a pasta do projeto.
cd /mnt/workspace/"python_project_folder" -
Execute o comando a seguir 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)
Fazer upload de um programa
-
Faça o upload do pacote compactado do programa Python local para o diretório . Em seguida, use o terminal para descompactar o pacote e visualize 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 usado pelo Python durante a construção.
mv 'decompressed_python_project_name' /'python_compile_path_found' -
Substitua os pacotes Python padrão 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 a instalação, verifique se as dependências de terceiros funcionam conforme esperado executando e depurando seu código no ambiente de desenvolvimento pessoal.
> Change Workspace