Usar bibliotecas em Python no Athena para Spark
Esta página descreve a terminologia usada e o gerenciamento do ciclo de vida seguido para os tempos de execução, as bibliotecas e os pacotes usados no Amazon Athena para Apache Spark.
Definições
-
O Amazon Athena para Apache Spark corresponde a uma versão personalizada do Apache Spark de código aberto. Para ver a versão atual, execute o comando
print(f'{spark.version}')
em uma célula de caderno. -
O runtime do Athena corresponde ao ambiente no qual o código é executado. O ambiente inclui um intérprete do Python e bibliotecas PySpark.
-
Uma biblioteca ou um pacote externo corresponde a uma biblioteca Java, Scala JAR ou Python que não faz parte do runtime do Athena, mas pode ser incluída nos trabalhos do Athena para Spark. Os pacotes externos podem ser criados por você ou pela Amazon.
-
Um pacote de conveniência corresponde a uma coleção de pacotes externos selecionados pelo Athena que você pode optar por incluir em suas aplicações Spark.
-
Um pacote combina o runtime do Athena e um pacote de conveniência.
-
Uma biblioteca de usuário corresponde a uma biblioteca ou a um pacote externo que você adiciona explicitamente ao seu trabalho do Athena para Spark.
-
Uma biblioteca de usuário é um pacote externo que não faz parte de um pacote de conveniência. Uma biblioteca de usuário requer carregamento e instalação, como quando você grava alguns arquivos
.py
, compacta-os e, em seguida, adiciona o arquivo.zip
à aplicação.
-
-
Uma aplicação do Athena para Spark corresponde a um trabalho ou a uma consulta que você envia ao Athena para Spark.
Gerenciamento de ciclo de vida
As seções a seguir descrevem as políticas de versionamento e obsolescência relativas a pacotes de conveniência e runtime usados no Athena para Spark.
Versionamento e substituição do runtime
O componente principal no runtime do Athena é o intérprete do Python. Como o Python é uma linguagem em evolução, novas versões são lançadas com regularidade e o suporte é removido para as versões mais antigas. O Athena não recomenda que você execute programas com versões obsoletas do intérprete do Python e recomenda fortemente que você use o runtime mais recente do Athena sempre que possível.
O cronograma de substituição do runtime do Athena é o seguinte:
-
Depois que o Athena fornecer um novo runtime, ele continuará a oferecer suporte ao runtime anterior por seis meses. Durante esse período, o Athena aplicará patches e atualizações de segurança ao runtime anterior.
-
Após seis meses, o Athena encerrará o suporte para o runtime anterior. O Athena não aplicará mais patches de segurança e outras atualizações ao runtime anterior. As aplicações Spark que usam o runtime anterior não serão mais elegíveis para o suporte técnico.
-
Após 12 meses, não será mais possível atualizar ou editar aplicações Spark em um grupo de trabalho que usa o runtime anterior. Recomendamos que você atualize suas aplicações Spark antes que esse período se encerre. Após o término do período, você ainda poderá executar os cadernos existentes, mas todos os cadernos que ainda usarem o runtime anterior registrarão em log um aviso nesse sentido.
-
Após 18 meses, você não poderá mais executar trabalhos no grupo de trabalho usando o runtime anterior.
Versionamento e substituição do pacote de conveniência
O conteúdo dos pacotes de conveniência é alterado ao longo do tempo. Ocasionalmente, o Athena adiciona, remove ou atualiza os pacotes de conveniência.
O Athena usa as diretrizes a seguir para os pacotes de conveniência:
-
Os pacotes de conveniência têm um esquema de versionamento simples, como 1, 2 e 3.
-
Cada versão de pacote de conveniência inclui versões específicas de pacotes externos. Depois que o Athena cria um pacote de conveniência, o conjunto de pacotes externos do pacote de conveniência e suas versões correspondentes não são alterados.
-
O Athena cria uma nova versão de pacote de conveniência ao incluir um novo pacote externo, remover um pacote externo ou atualizar a versão de um ou mais pacotes externos.
O Athena substitui um pacote de conveniência quando substitui o runtime do Athena que o pacote usa. O Athena pode substituir os pacotes antecipadamente para limitar o número de pacotes que ele oferece suporte.
O cronograma de substituição de pacote de conveniência segue o cronograma de substituição de runtime do Athena.