Use o shell Spark com Databricks Connect para Python

Observação

Este artigo abrange Databricks Connect para Databricks Runtime 13.3 LTS e acima.

Este artigo aborda como usar o Databricks Connect para Python e o Spark shell. Databricks Connect permite que o senhor conecte aplicativos populares ao site Databricks compute. Consulte O que é o Databricks Connect?

Observação

Antes de começar a usar o Databricks Connect, você deve configurar o cliente Databricks Connect.

O shell Spark funciona apenas com autenticação access token pessoal do Databricks .

Para usar o Databricks Connect com o shell Spark e Python, siga estas instruções.

  1. Para iniciar o shell Spark e conectá-lo aos seus clusters em execução, execute um dos seguintes comandos em seu ambiente virtual Python ativado:

    Se o senhor tiver definido a variável de ambiente SPARK_REMOTE, execute o seguinte comando:

    pyspark
    

    Se o senhor não tiver definido a variável de ambiente SPARK_REMOTE, execute o seguinte comando:

    pyspark --remote "sc://<workspace-instance-name>:443/;token=<access-token-value>;x-databricks-cluster-id=<cluster-id>"
    

    O shell Spark aparece, por exemplo:

    Python 3.10 ...
    [Clang ...] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    Welcome to
         ____              __
        / __/__  ___ _____/ /__
       _\ \/ _ \/ _ `/ __/  '_/
      /__ / .__/\_,_/_/ /_/\_\   version 13.x.dev0
         /_/
    
    Using Python version 3.10 ...
    Client connected to the Spark Connect server at sc://...:.../;token=...;x-databricks-cluster-id=...
    SparkSession available as 'spark'.
    >>>
    

Agora o senhor pode executar um simples comando PySpark, como spark.range(1,10).show(). Se não houver erros, o senhor se conectou com sucesso.

  1. Consulte a análise interativa com o Spark shellpara obter informações sobre como usar o Spark shell com Python para executar o comando em seu compute.

    Use a variável spark integrada para representar o SparkSession em seus clusters em execução, por exemplo:

    >>> df = spark.read.table("samples.nyctaxi.trips")
    >>> df.show(5)
    +--------------------+---------------------+-------------+-----------+----------+-----------+
    |tpep_pickup_datetime|tpep_dropoff_datetime|trip_distance|fare_amount|pickup_zip|dropoff_zip|
    +--------------------+---------------------+-------------+-----------+----------+-----------+
    | 2016-02-14 16:52:13|  2016-02-14 17:16:04|         4.94|       19.0|     10282|      10171|
    | 2016-02-04 18:44:19|  2016-02-04 18:46:00|         0.28|        3.5|     10110|      10110|
    | 2016-02-17 17:13:57|  2016-02-17 17:17:55|          0.7|        5.0|     10103|      10023|
    | 2016-02-18 10:36:07|  2016-02-18 10:41:45|          0.8|        6.0|     10022|      10017|
    | 2016-02-22 14:14:41|  2016-02-22 14:31:52|         4.51|       17.0|     10110|      10282|
    +--------------------+---------------------+-------------+-----------+----------+-----------+
    only showing top 5 rows
    

    Todo o código Python é executado localmente, enquanto todo o código PySpark que envolve operações DataFrame é executado nos clusters no workspace remoto do Databricks e as respostas de execução são enviadas de volta ao chamador local.

  2. Para interromper o shell Spark, pressione Ctrl + d ou Ctrl + z ou execute o comando quit() ou exit().