Aracılığıyla paylaş


Databricks SQL CLI

Önemli

Databricks SQL CLI etkin geliştirme aşamasında değildir.

Not

Bu makale, Databricks'in müşteri teknik destek kanalları aracılığıyla desteklemediği ve olduğu haliyle sunulan 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ğrulama bilgileriyle de sağlamalısınız.

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 belirteçleri (eski) ile 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ı.
  • DBSQLCLI_HOST_NAME, DBSQLCLI_HTTP_PATH ve DBSQLCLI_ACCESS_TOKEN ortam değişkenlerini ayarlayarak. Bkz. Ortam değişkenleri.
  • Databricks SQL CLI ile her komut çalıştırdığınızda, --hostname, --http-path, ve --access-token seçeneklerini belirterek. 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 ambarınız için kimlik doğrulama bilgilerini sağlamak amacıyla dbsqlclirc ayarlar dosyasını kullanmak 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. host_name yanına, karakterleri arasına gerekliliklerden ambarınızın "" değerini girin.
    2. öğesinin http_pathyanına, karakterler arasındaki gereksinimlerden ambarınızın "" değerini girin.
    3. access_token öğesinin yanında, "" karakterleri arasına gereksinimlerden aldığınız 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 ambarınızın kimlik doğrulama ayrıntılarını Databricks SQL CLI'ya sağlamak için DBSQLCLI_HOST_NAME, DBSQLCLI_HTTP_PATH ve DBSQLCLI_ACCESS_TOKEN ortam değişkenlerini kullanarak 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 gereksinimlerden ambarınızın HTTP yolu değerini kullanarak.
  • 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 gereksinimlerden ambarınızın HTTP yolu değerini kullanarak.
  • 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 gereksinimlerden ambarınızın HTTP yolu değerini kullanarak.
  • 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'ye, Databricks SQL ambarınızın kimlik doğrulama ayrıntılarını sağlamak için --hostname, --http-path ve --access-token seçeneklerini kullanarak 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, örneğin ASCII tablo biçimi için --table-format gibi bir değerle birlikte ascii seçeneğini kullanın.

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 table_format ayarı dosyasındaki dbsqlclirc açıklamalarına bakın.

Dosya

SQL içeren bir dosyayı çalıştırmak için -e seçeneğini ve ardından .sql dosyasının yolunu kullanın. Ö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, örneğin ASCII tablo biçimi için --table-format gibi bir değerle birlikte ascii seçeneğini kullanın.

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 table_format ayarı dosyasındaki dbsqlclirc açıklamalarına 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

Kayıt Tutma

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, INFO ve altındaki günlük düzeylerinde günlüğe kaydedilir. Bu günlük düzeyini değiştirmek için log_level ayarının ayar dosyasındaki dbsqlclirc değerini değiştirin. Kullanılabilir günlük düzeyi değerleri CRITICAL, ERROR, WARNING, INFO ve DEBUG olup bu sırayla değerlendirilir. NONE günlüğü devre dışı bırakır.

Ek kaynaklar