Você pode usar pandas no Databricks?
Databricks Runtime inclui pandas como um dos pacotes Python padrão, permitindo que você crie e aproveite DataFrames pandas em Databricks Notebook and Job.
Em Databricks Runtime 10.4 LTS e acima, Pandas API em Spark fornece Pandas comando familiar em cima de PySpark DataFrames. O senhor também pode converter DataFrames entre Pandas e PySpark.
O Apache Spark inclui a execução otimizada para seta da lógica Python na forma de APIs de função pandas, que permitem aos usuários aplicar transformações pandas diretamente aos DataFrames PySpark. O Apache Spark também oferece suporte a pandas UDFs, que usam otimizações de seta semelhantes para funções de usuário arbitrárias definidas em Python.
Onde os pandas armazenam dados no Databricks?
Você pode usar pandas para armazenar dados em vários locais diferentes no Databricks. Sua capacidade de armazenar e carregar dados de alguns locais depende das configurações definidas pelos administradores workspace .
Observação
A Databricks recomenda armazenar dados de produção em armazenamento de objetos clouds . Consulte Conectar-se ao Amazon S3.
Se você estiver em um workspace habilitado para Unity Catalog, poderá acessar o armazenamento cloud com locais externos. Veja Criar uma external location para conectar o armazenamento em cloud ao Databricks.
Para exploração rápida e dados sem informações confidenciais, você pode salvar com segurança o uso de dados em caminhos relativos ou no DBFS, como nos exemplos a seguir:
import pandas as pd
df = pd.DataFrame([["a", 1], ["b", 2], ["c", 3]])
df.to_csv("./relative_path_test.csv")
df.to_csv("/dbfs/dbfs_test.csv")
Você pode explorar arquivos gravados no DBFS com o comando mágico %fs
, como no exemplo a seguir. Observe que o diretório /dbfs
é o caminho raiz para esses comandos.
%fs ls
Quando o usuário salva em um caminho relativo, o local do arquivo depende de onde o código é executado. Se o senhor estiver usando um Databricks Notebook, o arquivo de dados será salvo no armazenamento de volume anexado ao driver do cluster. Os dados armazenados nesse local são excluídos permanentemente quando o cluster é encerrado. Se estiver usando as pastas Git do Databricks com suporte a arquivos arbitrários ativado, seus dados serão salvos na raiz do projeto atual. Em ambos os casos, o senhor pode explorar os arquivos gravados usando o comando mágico %sh
, que permite operações simples do bash relativas ao diretório raiz atual, como no exemplo a seguir:
%sh ls
Para obter mais informações sobre como o Databricks armazena vários arquivos, consulte Trabalhar com arquivos no Databricks.
Como você carrega dados com pandas no Databricks?
Databricks fornece várias opções para facilitar upload de dados para o workspace para exploração. O método preferido para carregar dados com pandas varia dependendo de como você carrega seus dados no workspace.
Se o senhor tiver pequenos arquivos de dados armazenados junto com o Notebook em seu computador local, poderá fazer upload dos dados e do código junto com as pastas do Git. O senhor pode então usar caminhos relativos para carregar arquivos de dados.
A Databricks oferece amplas opções baseadas na interface do usuário para o carregamento de dados. A maioria dessas opções armazena seus dados como tabelas Delta. O senhor pode ler uma tabela Delta para uma Spark DataFrame e, em seguida, convertê-la em uma Pandas DataFrame .
Se você salvou arquivos de dados usando DBFS ou caminhos relativos, pode usar DBFS ou caminhos relativos para recarregar esses arquivos de dados. O código a seguir fornece um exemplo:
import pandas as pd
df = pd.read_csv("./relative_path_test.csv")
df = pd.read_csv("/dbfs/dbfs_test.csv")
O senhor pode carregar dados diretamente do S3 usando Pandas e um URL totalmente qualificado. O senhor precisa fornecer as credenciais do cloud para acessar os dados do cloud.
df = pd.read_csv(
f"s3://{bucket_name}/{file_path}",
storage_options={
"key": aws_access_key_id,
"secret": aws_secret_access_key,
"token": aws_session_token
}
)