Pandas na AWS
Fácil integração com Athena, Glue, Redshift, Timestream, OpenSearch, Neptune, QuickSight, Chime, CloudWatchLogs, DynamoDB, EMR, SecretManager, PostgreSQL, MySQL, SQLServer e S3 (Parquet, CSV, JSON e EXCEL).
Uma iniciativa de código aberto do AWS Professional Service | [email protected]
Fonte | Transferências | Comando de instalação |
---|---|---|
PyPi | pip install awswrangler | |
Conda | conda install -c conda-forge awswrangler |
️ A partir da versão 3.0, os módulos opcionais devem ser instalados explicitamente:
➡️pip install 'awswrangler[redshift]'
Início rápido
Em escala
Leia os documentos
Obtendo ajuda
Registro
Comando de instalação: pip install awswrangler
️ A partir da versão 3.0, os módulos opcionais devem ser instalados explicitamente:
➡️pip install 'awswrangler[redshift]'
import awswrangler as wrimport pandas as pdfrom datetime import datetimedf = pd.DataFrame({"id": [1, 2], "value": ["foo", "boo"]})# Armazenando dados em Data Lakewr.s3. to_parquet(df=df,path="s3://bucket/dataset/",dataset=True,database="my_db",table="my_table")# Recuperando os dados diretamente do Amazon S3df = wr.s3.read_parquet("s3://bucket/dataset/", dataset=True)# Recuperando os dados do Amazon Athenadf = wr.athena.read_sql_query("SELECT * FROM my_table", database="my_db")# Obtenha uma conexão Redshift do Glue Catalog e recupere dados do Redshift Spectrumcon = wr.redshift.connect("my-glue-connection")df = wr.redshift.read_sql_query("SELECT * FROM external_schema.my_table", con=con)con.close()# Amazon Timestream Writedf = pd.DataFrame({ "time": [datetime.now(), datetime.now()], "my_dimension": ["foo", "boo"],"medida": [1,0, 1,1], })rejected_records = wr.timestream.write(df,database="sampleDB",table="sampleTable",time_col="time",measure_col="measure",dimensions_cols=["my_dimension"], )# Amazon Timestream Querywr.timestream.query("""SELECT time, Measure_value::double, my_dimensionFROM "sampleDB"."sampleTable" ORDER BY time DESC LIMIT 3""")
O AWS SDK para pandas também pode executar fluxos de trabalho em escala, aproveitando Modin e Ray. Ambos os projetos visam acelerar as cargas de trabalho de dados, distribuindo o processamento por um cluster de trabalhadores.
Leia nossos documentos ou acesse nossos tutoriais mais recentes para saber mais.
️ Atualmente, Ray não está disponível para Python 3.12. Embora o AWS SDK para pandas seja compatível com Python 3.12, ele não pode ser usado em escala.
O que é AWS SDK para pandas?
Instalar
PyPi (pip)
Conda
Camada AWS Lambda
Trabalhos de shell Python do AWS Glue
Trabalhos AWS Glue PySpark
Caderno Amazon SageMaker
Ciclo de vida do notebook Amazon SageMaker
EMR
Da fonte
Em escala
Começando
APIs suportadas
Recursos
Tutoriais
001 - Introdução
002 - Sessões
003-Amazon S3
004 - Conjuntos de dados Parquet
005 - Catálogo de Cola
006 - Amazona Atenas
007 - Bancos de dados (Redshift, MySQL, PostgreSQL, SQL Server e Oracle)
008 - Redshift - Copiar e descarregar.ipynb
009 - Redshift - Anexar, Substituir e Upsert
010 - Rastreador de Parquet
011 - Conjuntos de dados CSV
012 - Rastreador CSV
013 - Mesclando conjuntos de dados no S3
014 - Evolução do Esquema
015 - EMR
016 - EMR e Docker
017 - Projeção de Partição
018 - Visão rápida
019 - Esconderijo de Atena
020 - Interoperabilidade da tabela Spark
021 - Configurações Globais
022 - Escrevendo Partições Simultaneamente
023 - Filtro de Partições Flexíveis
024 - Metadados de consulta do Athena
025 - Redshift - Carregando arquivos Parquet com Spectrum
026 - Fluxo de tempo da Amazon
027 - Amazon Timestream 2
028 - Amazon DynamoDB
029 - S3 Selecionar
030 - API de dados
031 - Pesquisa aberta
033 - Amazon Netuno
034 - Distribuindo Chamadas Usando Ray
035 - Distribuindo Chamadas no Cluster Remoto Ray
037 - Cola Qualidade de Dados
038 - OpenSearch sem servidor
039 - Iceberg de Atenas
040 - EMR sem servidor
041 - Apache Spark no Amazon Athena
Referência de API
Amazon S3
Catálogo AWS Glue
Amazon Atenas
Redshift da Amazon
PostgreSQL
MySQL
Servidor SQL
Oráculo
API de dados Redshift
API de dados RDS
Pesquisa aberta
Qualidade de dados do AWS Glue
Amazon Netuno
DynamoDB
Fluxo de tempo da Amazon
Amazon EMR
Logs do Amazon CloudWatch
Amazon Chime
AmazonQuickSight
AWS STS
Gerenciador de segredos da AWS
Configurações globais
Distribuído - Ray
Licença
Contribuindo
A melhor forma de interagir com nossa equipe é através do GitHub. Você pode abrir um problema e escolher um de nossos modelos para relatórios de bugs, solicitações de recursos... Você também pode encontrar ajuda nestes recursos da comunidade:
O canal #aws-sdk-pandas do Slack
Faça uma pergunta no Stack Overflow e marque-a com awswrangler
Runbook para AWS SDK para pandas com Ray
Exemplos de ativação de registros internos:
importar logginglogging.basicConfig(level=logging.INFO, format="[%(name)s][%(funcName)s] %(message)s")logging.getLogger("awswrangler").setLevel(logging.DEBUG) logging.getLogger("botocore.credentials").setLevel(logging.CRITICAL)
No AWS lambda:
importar logginglogging.getLogger("awswrangler").setLevel(logging.DEBUG)