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 belirteci kimlik doğrulamasını destekler. Microsoft Entra Id (eski adıyla Azure Active Directory) belirteçleri desteklenmez.

Azure Databricks kişisel erişim belirteci kimlik doğrulamasını kullanmak için aşağıdaki gibi bir kişisel erişim belirteci oluşturun:

  1. Azure Databricks çalışma alanınızda üst çubukta Azure Databricks kullanıcı adınıza tıklayın ve açılan listeden Ayarlar seçin.
  2. Geliştirici'ye tıklayın.
  3. Erişim belirteçleri'nin yanındaki Yönet'e tıklayın.
  4. Yeni belirteç oluştur'a tıklayın.
  5. (İsteğe bağlı) Gelecekte bu belirteci tanımlamanıza yardımcı olacak bir açıklama girin ve belirtecin varsayılan 90 günlük ömrünü değiştirin. Yaşam süresi olmayan bir belirteç oluşturmak için (önerilmez), Yaşam Süresi (gün) kutusunu boş (boş) bırakın.
  6. Generate (Oluştur) düğmesine tıklayın.
  7. Görüntülenen belirteci güvenli bir konuma kopyalayın ve bitti'ye tıklayın.

Not

Kopyalanan belirteci güvenli bir konuma kaydettiğinizden emin olun. Kopyalanan belirtecinizi başkalarıyla paylaşmayın. Kopyalanan belirteci kaybederseniz, tam olarak aynı belirteci yeniden oluşturamazsınız. Bunun yerine, yeni bir belirteç oluşturmak için bu yordamı yinelemeniz gerekir. Kopyalanan belirteci kaybederseniz veya belirtecin gizliliğinin ihlal edildiğini düşünüyorsanız Databricks, Erişim belirteçleri sayfasındaki belirtecin yanındaki çöp kutusu (İptal Et) simgesine tıklayarak bu belirteci çalışma alanınızdan hemen silmenizi kesinlikle önerir.

Çalışma alanınızda belirteç oluşturamıyor veya kullanamıyorsanız, bunun nedeni çalışma alanı yöneticinizin belirteçleri devre dışı bırakmış olması veya size belirteç oluşturma veya kullanma izni vermemiş olması olabilir. Çalışma alanı yöneticinize veya aşağıdakilere bakın:

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_ACCESS_TOKEN ortam değişkenlerini ayarlayarak.DBSQLCLI_HOST_NAMEDBSQLCLI_HTTP_PATH Bkz. Ortam değişkenleri.
  • Databricks SQL CLI ile her komut çalıştırdığınızda , --http-pathve --access-token seçeneklerini belirterek--hostname. 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 Sunucu ana bilgisayar adı değerini girin.
    2. öğesinin http_pathyanına, karakterler arasındaki "" gereksinimlerden ambarınızın HTTP yolu 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_HTTP_PATHve DBSQLCLI_ACCESS_TOKEN ortam değişkenlerini kullanmak DBSQLCLI_HOST_NAMEiç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 , --http-pathve --access-token seçeneklerini kullanmak --hostnameiç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"

Çıkış:

_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 ascii bir değerle birlikte seçeneğini kullanın--table-format, örneğin:

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

Çıkış:

+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| _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 .sql yolunu kullanın-e. Örneğin:

dbsqlcli -e my-query.sql

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

SELECT * FROM default.diamonds LIMIT 2;

Çıkış:

_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 ascii bir değerle birlikte seçeneğini kullanın--table-format, örneğin:

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

Çıkış:

+-----+-------+---------+-------+---------+-------+-------+-------+------+------+------+
| _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 , , ERRORWARNING, INFOve değerlerini içerir CRITICALve DEBUG bu sırada değerlendirilir. NONE günlüğü devre dışı bırakır.

Ek kaynaklar