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 girmenizpython3
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ğinipip
denetlemek için terminalinizde veya Komut İsteminizde komutunupip --version
çalıştırın. (Bazı sistemlerde bunun yerine girmenizpip3
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_PATH
DBSQLCLI_ACCESS_TOKEN
Bkz. Ortam değişkenleri. - Databricks SQL CLI ile her komut çalıştırdığınızda ,
--hostname
ve--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:
-
--hostname
,--http-path
ve--access-token
seçenekleri. -
DBSQLCLI_HOST_NAME
veDBSQLCLI_HTTP_PATH
DBSQLCLI_ACCESS_TOKEN
ortam değişkenleri. - 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:
Dosyayı açmak ve düzenlemek
dbsqlclirc
için bir metin düzenleyicisi kullanın.Aşağıdaki bölüme kaydırın:
# [credentials] # host_name = "" # http_path = "" # access_token = ""
Dört
#
karakteri kaldırın ve:- öğesinin
host_name
yanına, karakterler arasındaki gereksinimlerden ambarınızın""
değerini girin. - öğesinin
http_path
yanına, karakterler arasındaki gereksinimlerden ambarınızın""
değerini girin. - öğesinin
access_token
yanı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"
- öğesinin
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_NAME
ve DBSQLCLI_HTTP_PATH
ortam değişkenlerini kullanmak DBSQLCLI_ACCESS_TOKEN
iç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 , --hostname
ve --http-path
seçeneklerini kullanmak --access-token
iç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_file
ayarın dbsqlclirc
değ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 , , CRITICAL
ERROR
, WARNING
ve değerlerini içerir INFO
ve DEBUG
bu sırada değerlendirilir.
NONE
günlüğü devre dışı bırakır.