Aracılığıyla paylaş


Databricks SQL CLI

Not

Bu makale, databricks tarafından müşteri teknik destek kanalları aracılığıyla desteklenmeyen ve olduğu gibi sağlanan Databricks SQL CLI'yi kapsar. Sorular ve özellik istekleri, GitHub'da databricks/databricks-sql-cli deposunun Sorunlar sayfasından iletilebilir.

Databricks SQL komut satırı arabirimi (Databricks SQL CLI), mevcut Databricks SQL ambarlarınızda Databricks SQL düzenleyicisi veya Azure Databricks not defteri gibi konumlardan değil terminalden veya Windows Komut İstemi'nden SQL sorguları çalıştırmanızı sağlar. Komut satırından öneriler ve söz dizimi vurgulama gibi üretkenlik özellikleri elde edersiniz.

Gereksinimler

  • En az bir Databricks SQL ambarı. Henüz yoksa bir ambar oluşturun.
  • Python 3.7 veya üzeri. Python'ın yüklü olup olmadığını denetlemek için terminalinizde veya Komut İsteminizde komutunu python --version çalıştırın. (Bazı sistemlerde bunun yerine girmeniz python3 gerekebilir.) Henüz yüklü değilse Python'ı yükleyin.
  • Pip, Python için paket yükleyicisi. Python'ın daha yeni sürümleri varsayılan olarak yüklenir pip . Yüklenip yüklenmediğini pip denetlemek için terminalinizde veya Komut İsteminizde komutunu pip --version çalıştırın. (Bazı sistemlerde bunun yerine girmeniz pip3 gerekebilir.) Henüz yüklemediyseniz pip'i yükleyin.
  • (İsteğe bağlı) venv gibi Python sanal ortamları oluşturmaya ve yönetmeye yönelik bir yardımcı program. Sanal ortamlar, Python ve Databricks SQL CLI'nın doğru sürümlerini birlikte kullandığınızdan emin olmanıza yardımcı olur. Sanal ortamların ayarlanması ve kullanılması bu makalenin kapsamı dışındadır. Daha fazla bilgi için bkz . Sanal Ortam Oluşturma.

Databricks SQL CLI'sını yükleme

Gereksinimleri karşıladıktan sonra Python Paketleme Dizini'nden (PyPI) Databricks SQL CLI paketini yükleyin. Aşağıdaki komutlardan birini çalıştırarak pip PyPI'den Databricks SQL CLI paketini yüklemek için kullanabilirsinizpip.

pip install databricks-sql-cli

# Or...

python -m pip install databricks-sql-cli

Databricks SQL CLI'nın daha önce yüklenmiş bir sürümünü yükseltmek için aşağıdaki komutlardan biriyle komutunu çalıştırın pip .

pip install databricks-sql-cli --upgrade

# Or...

python -m pip install databricks-sql-cli --upgrade

Yüklü Databricks SQL CLI sürümünüzü denetlemek için aşağıdaki komutlardan biriyle çalıştırın pip .

pip show databricks-sql-cli

# Or...

python -m pip show databricks-sql-cli

Kimlik Doğrulaması

Kimlik doğrulaması yapmak için Databricks SQL CLI'ya ambarınızın bağlantı ayrıntılarını sağlamanız gerekir. Özellikle, Sunucu ana bilgisayar adı ve HTTP yol değerlerine ihtiyacınız vardır. Ayrıca Databricks SQL CLI'sini doğru kimlik doğrulaması kimlik bilgileriyle de ürünlemelisiniz.

Databricks SQL CLI, Databricks kişisel erişim belirteçlerini (PAT) destekler. Azure Databricks PAT kimlik doğrulamasını kullanmak için kişisel erişim belirteci oluşturmanız gerekir. Bu işlemle ilgili ayrıntılar için bkz . Azure Databricks kişisel erişim belirteci kimlik doğrulaması.

Microsoft Entra Id belirteçleri desteklenmez.

Bu kimlik doğrulama bilgilerini Databricks SQL CLI'ya çeşitli yollarla sağlayabilirsiniz:

  • Varsayılan konumundaki dbsqlclirc ayarlar dosyasında (veya Databricks SQL CLI ile her komut çalıştırdığınızda --clirc seçeneği aracılığıyla alternatif bir ayarlar dosyası belirterek). Bkz. Ayarlar dosyası.
  • ve DBSQLCLI_HOST_NAME ortam değişkenlerini ayarlayarak.DBSQLCLI_HTTP_PATHDBSQLCLI_ACCESS_TOKEN Bkz. Ortam değişkenleri.
  • Databricks SQL CLI ile her komut çalıştırdığınızda , --hostnameve --http-path seçeneklerini belirterek--access-token. Bkz. Komut seçenekleri.

Not

Önceki dbsqlclirc ortam değişkenlerini ayarlasanız veya önceki komut seçeneklerini veya her ikisini birden belirtseniz bile ayarlar dosyası mevcut olmalıdır.

Databricks SQL CLI'yı her çalıştırdığınızda, kimlik doğrulama ayrıntılarını aşağıdaki sırayla arar ve ilk ayrıntı kümesini bulduğunda durur:

  1. --hostname, --http-pathve --access-token seçenekleri.
  2. DBSQLCLI_HOST_NAMEve DBSQLCLI_HTTP_PATHDBSQLCLI_ACCESS_TOKEN ortam değişkenleri.
  3. Varsayılan dbsqlclirc konumundaki ayarlar dosyası (veya seçenek tarafından --clirc belirtilen alternatif bir ayarlar dosyası).

Ayarlar dosyası

Databricks SQL CLI'sına Databricks SQL ambarınızın kimlik doğrulama ayrıntılarını sağlamak üzere ayarlar dosyasını kullanmak dbsqlclirc için Databricks SQL CLI'sini ilk kez aşağıdaki gibi çalıştırın:

dbsqlcli

Databricks SQL CLI sizin için Unix, Linux ve macOS'ta ~/.dbsqlcli/dbsqlclirc ve Windows'da %HOMEDRIVE%%HOMEPATH%\.dbsqlcli\dbsqlclirc veya %USERPROFILE%\.dbsqlcli\dbsqlclirc üzerinde bir ayarlar dosyası oluşturur. Bu dosyayı özelleştirmek için:

  1. Dosyayı açmak ve düzenlemek dbsqlclirc için bir metin düzenleyicisi kullanın.

  2. Aşağıdaki bölüme kaydırın:

    # [credentials]
    # host_name = ""
    # http_path = ""
    # access_token = ""
    
  3. Dört # karakteri kaldırın ve:

    1. öğesinin host_nameyanına, karakterler arasındaki gereksinimlerden ambarınızın "" değerini girin.
    2. öğesinin http_pathyanına, karakterler arasındaki gereksinimlerden ambarınızın "" değerini girin.
    3. öğesinin access_tokenyanında, karakterler arasındaki "" gereksinimlerden kişisel erişim belirteci değerinizi girin.

    Örneğin:

    [credentials]
    host_name = "adb-12345678901234567.8.azuredatabricks.net"
    http_path = "/sql/1.0/warehouses/1abc2d3456e7f890a"
    access_token = "dapi12345678901234567890123456789012"
    
  4. dbsqlclirc dosyasını kaydedin.

Alternatif olarak, dosyayı varsayılan konumunda kullanmak dbsqlclirc yerine, komut seçeneğini ve alternatif dosyanın yolunu ekleyerek --clirc farklı bir konumda bir dosya belirtebilirsiniz. Bu alternatif dosyanın içeriği önceki söz dizimine uygun olmalıdır.

Ortam değişkenleri

Databricks SQL CLI'ya Databricks SQL ambarınızın kimlik doğrulama ayrıntılarını sağlamak üzere , DBSQLCLI_HOST_NAMEve DBSQLCLI_HTTP_PATH ortam değişkenlerini kullanmak DBSQLCLI_ACCESS_TOKENiçin aşağıdakileri yapın:

Unix, Linux ve macOS

Yalnızca geçerli terminal oturumu için ortam değişkenlerini ayarlamak için aşağıdaki komutları çalıştırın. Tüm terminal oturumlarının ortam değişkenlerini ayarlamak için, kabuğunuzun başlangıç dosyasına aşağıdaki komutları girin ve terminalinizi yeniden başlatın. Aşağıdaki komutlarda değerini değiştirin:

  • DBSQLCLI_HOST_NAME gereksinimlerinden ambarınızın Sunucu ana bilgisayar adı değeriyle birlikte.
  • DBSQLCLI_HTTP_PATH gereksinimlerinden ambarınızın HTTP yolu değeriyle birlikte.
  • DBSQLCLI_ACCESS_TOKEN gereksinimlerinizden kişisel erişim belirteci değerinizle birlikte.
export DBSQLCLI_HOST_NAME="adb-12345678901234567.8.azuredatabricks.net"
export DBSQLCLI_HTTP_PATH="/sql/1.0/warehouses/1abc2d3456e7f890a"
export DBSQLCLI_ACCESS_TOKEN="dapi12345678901234567890123456789012"

Windows

Ortam değişkenlerini yalnızca geçerli Komut İstemi oturumu için ayarlamak için aşağıdaki komutları çalıştırın ve değerini değiştirin:

  • DBSQLCLI_HOST_NAME gereksinimlerinden ambarınızın Sunucu ana bilgisayar adı değeriyle birlikte.
  • DBSQLCLI_HTTP_PATH gereksinimlerinden ambarınızın HTTP yolu değeriyle birlikte.
  • DBSQLCLI_ACCESS_TOKEN gereksinimlerinizden kişisel erişim belirteci değerinizle birlikte:
set DBSQLCLI_HOST_NAME="adb-12345678901234567.8.azuredatabricks.net"
set DBSQLCLI_HTTP_PATH="/sql/1.0/warehouses/1abc2d3456e7f890a"
set DBSQLCLI_ACCESS_TOKEN="dapi12345678901234567890123456789012"

Tüm Komut İstemi oturumlarının ortam değişkenlerini ayarlamak için aşağıdaki komutları çalıştırın ve komut isteminizi yeniden başlatın ve değerini değiştirin:

  • DBSQLCLI_HOST_NAME gereksinimlerinden ambarınızın Sunucu ana bilgisayar adı değeriyle birlikte.
  • DBSQLCLI_HTTP_PATH gereksinimlerinden ambarınızın HTTP yolu değeriyle birlikte.
  • DBSQLCLI_ACCESS_TOKEN gereksinimlerinizden kişisel erişim belirteci değerinizle birlikte.
setx DBSQLCLI_HOST_NAME "adb-12345678901234567.8.azuredatabricks.net"
setx DBSQLCLI_HTTP_PATH "/sql/1.0/warehouses/1abc2d3456e7f890a"
setx DBSQLCLI_ACCESS_TOKEN "dapi12345678901234567890123456789012"

Komut seçenekleri

Databricks SQL CLI'sine Databricks SQL ambarınızın kimlik doğrulama ayrıntılarını sağlamak üzere , --hostnameve --http-path seçeneklerini kullanmak --access-tokeniçin aşağıdakileri yapın:

Databricks SQL CLI ile her komut çalıştırdığınızda aşağıdakileri yapın:

  • --hostname Seçeneği ve ambarınızın Sunucu ana bilgisayar adı değerini gereksinimlerden belirtin.
  • --http-path Seçeneği ve ambarınızın HTTP yolu değerini gereksinimlerden belirtin.
  • --access-token Seçeneği ve gereksinimlerden kişisel erişim belirteci değerinizi belirtin.

Örneğin:

dbsqlcli -e "SELECT * FROM default.diamonds LIMIT 2" \
--hostname "adb-12345678901234567.8.azuredatabricks.net" \
--http-path "/sql/1.0/warehouses/1abc2d3456e7f890a" \
--access-token "dapi12345678901234567890123456789012"

Sorgu kaynakları

Databricks SQL CLI, sorguları aşağıdaki yollarla çalıştırmanıza olanak tanır:

  • Sorgu dizesinden.
  • Bir dosyadan.
  • Okuma-değerlendirme-yazdırma döngüsü (REPL) yaklaşımında. Bu yaklaşım, siz yazarken öneriler sağlar.

Sorgu dizesi

Bir sorguyu dize olarak çalıştırmak için, dize olarak temsil edilen sorgunun ardından gelen seçeneğini kullanın -e . Örneğin:

dbsqlcli -e "SELECT * FROM default.diamonds LIMIT 2"

Çıktı:

_c0,carat,cut,color,clarity,depth,table,price,x,y,z
1,0.23,Ideal,E,SI2,61.5,55,326,3.95,3.98,2.43
2,0.21,Premium,E,SI1,59.8,61,326,3.89,3.84,2.31

Çıkış biçimlerini değiştirmek için ASCII tablo biçimi gibi --table-format bir değerle birlikte seçeneğini kullanınascii, örneğin:

dbsqlcli -e "SELECT * FROM default.diamonds LIMIT 2" --table-format ascii

Çıktı:

+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| _c0 | carat | cut     | color | clarity | depth | table | price | x    | y    | z    |
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| 1   | 0.23  | Ideal   | E     | SI2     | 61.5  | 55    | 326   | 3.95 | 3.98 | 2.43 |
| 2   | 0.21  | Premium | E     | SI1     | 59.8  | 61    | 326   | 3.89 | 3.84 | 2.31 |
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+

Kullanılabilir çıkış biçimi değerlerinin listesi için dosyadaki ayarın table_format açıklamalarına dbsqlclirc bakın.

Dosya

SQL içeren bir dosyayı çalıştırmak için seçeneğini ve ardından dosyanın -e yolunu kullanın.sql. Örneğin:

dbsqlcli -e my-query.sql

Örnek my-query.sql dosyanın içeriği:

SELECT * FROM default.diamonds LIMIT 2;

Çıktı:

_c0,carat,cut,color,clarity,depth,table,price,x,y,z
1,0.23,Ideal,E,SI2,61.5,55,326,3.95,3.98,2.43
2,0.21,Premium,E,SI1,59.8,61,326,3.89,3.84,2.31

Çıkış biçimlerini değiştirmek için ASCII tablo biçimi gibi --table-format bir değerle birlikte seçeneğini kullanınascii, örneğin:

dbsqlcli -e my-query.sql --table-format ascii

Çıktı:

+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| _c0 | carat | cut     | color | clarity | depth | table | price | x    | y    | z    |
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| 1   | 0.23  | Ideal   | E     | SI2     | 61.5  | 55    | 326   | 3.95 | 3.98 | 2.43 |
| 2   | 0.21  | Premium | E     | SI1     | 59.8  | 61    | 326   | 3.89 | 3.84 | 2.31 |
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+

Kullanılabilir çıkış biçimi değerlerinin listesi için dosyadaki ayarın table_format açıklamalarına dbsqlclirc bakın.

ÇOĞALTMA

Kapsamı varsayılan veritabanına göre belirlenmiş okuma-değerlendirme-yazdırma döngüsü (REPL) moduna girmek için aşağıdaki komutu çalıştırın:

dbsqlcli

Aşağıdaki komutu çalıştırarak, kapsamı belirli bir veritabanına göre belirlenmiş REPL moduna da girebilirsiniz:

dbsqlcli <database-name>

Örneğin:

dbsqlcli default

REPL modundan çıkmak için aşağıdaki komutu çalıştırın:

exit

REPL modunda aşağıdaki karakterleri ve anahtarları kullanabilirsiniz:

  • Bir satırı sonlandırmak için noktalı virgül (;) kullanın.
  • Çok satırlı modu değiştirmek için F3 kullanın.
  • Öneriler henüz görüntülenmediyse ekleme noktasında önerileri göstermek için ara çubuğunu kullanın.
  • Önerilerde gezinmek için yukarı ve aşağı okları kullanın.
  • Vurgulanan öneriyi tamamlamak için sağ oku kullanın.

Örneğin:

dbsqlcli default

hostname:default> SELECT * FROM diamonds LIMIT 2;

+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| _c0 | carat | cut     | color | clarity | depth | table | price | x    | y    | z    |
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| 1   | 0.23  | Ideal   | E     | SI2     | 61.5  | 55    | 326   | 3.95 | 3.98 | 2.43 |
| 2   | 0.21  | Premium | E     | SI1     | 59.8  | 61    | 326   | 3.89 | 3.84 | 2.31 |
+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+

2 rows in set
Time: 0.703s

hostname:default> exit

Günlük Kaydı

Databricks SQL CLI, iletilerini varsayılan olarak dosyaya ~/.dbsqlcli/app.log kaydeder. Bu dosya adını veya konumunu değiştirmek için ayarlar dosyasındaki log_fileayarın dbsqlclircdeğerini değiştirin.

Varsayılan olarak, iletiler günlük düzeyinde ve altında günlüğe kaydedilir INFO . Bu günlük düzeyini değiştirmek için ayarlar dosyasındaki log_level ayarın dbsqlclirc değerini değiştirin. Kullanılabilir günlük düzeyi değerleri , , CRITICALERROR, WARNINGve değerlerini içerir INFOve DEBUG bu sırada değerlendirilir. NONE günlüğü devre dışı bırakır.

Ek kaynaklar