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 belirteci kimlik doğrulamasını destekler. Microsoft Entra Id 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:
- 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.
- Geliştirici'ye tıklayın.
- Erişim belirteçleri'nin yanındaki Yönet'e tıklayın.
- Yeni belirteç oluştur'a tıklayın.
- (İ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.
- Generate (Oluştur) düğmesine tıklayın.
- 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ğıdaki konulara 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_NAME
DBSQLCLI_HTTP_PATH
Bkz. Ortam değişkenleri. - Databricks SQL CLI ile her komut çalıştırdığınızda ,
--http-path
ve--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:
--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 Sunucu ana bilgisayar adı değerini girin. - öğesinin
http_path
yanına, karakterler arasındaki""
gereksinimlerden ambarınızın HTTP yolu 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_HTTP_PATH
ve DBSQLCLI_ACCESS_TOKEN
ortam değişkenlerini kullanmak DBSQLCLI_HOST_NAME
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 , --http-path
ve --access-token
seçeneklerini kullanmak --hostname
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 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
Çı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 .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;
Çı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 ascii
bir değerle birlikte seçeneğini kullanın--table-format
, ö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 , , ERROR
WARNING
, INFO
ve değerlerini içerir CRITICAL
ve DEBUG
bu sırada değerlendirilir. NONE
günlüğü devre dışı bırakır.