Gunakan perintah dan fitur notebook bawaan di Azure Cosmos DB Python notebooks (pratinjau)
BERLAKU UNTUK:
SQL API
Notebook Jupyter bawaan di Azure Cosmos DB memudahkan Anda menganalisis dan memvisualisasikan data Anda dari portal Microsoft Azure. Artikel ini menjelaskan cara menggunakan perintah dan fitur notebook bawaan untuk melakukan operasi umum di Python notebook.
Memasang paket baru
Setelah mengaktifkan dukungan notebook untuk akun Azure Cosmos, Anda bisa membuka notebook baru dan memasang paket.
Di sel kode baru, sisipkan dan jalankan kode berikut, ganti PackageToBeInstalleddengan paket Python yang diinginkan.
import sys
!{sys.executable} -m pip install PackageToBeInstalled --user
Paket ini akan tersedia untuk digunakan dari notebook apa pun di ruang kerja akun Azure Cosmos.
Tip
Jika notebook Anda memerlukan paket kustom, kami menyarankan agar menambahkan sel di notebook Anda untuk memasang paket, karena paket dihapus jika Anda mereset ruang kerja.
Menjalankan kueri SQL
Anda dapat menggunakan %%sql perintah ajaib untuk menjalankankueri SQL terhadap kontainer apa pun di akun Anda. Gunakan sintaks:
%%sql --database {database_id} --container {container_id}
{Query text}
- Mengganti
{database_id}dan{container_id}dengan nama database dan kontainer di akun Cosmos Anda. Jika argumen--databasedan--containertidak disediakan, kueri akan dijalankan pada database dan kontainer default. - Anda dapat menjalankan kueri SQL yang valid di Azure Cosmos DB. Teks kueri harus berada di baris baru.
Contohnya:
%%sql --database RetailDemo --container WebsiteData
SELECT c.Action, c.Price as ItemRevenue, c.Country, c.Item FROM c
Jalankan %%sql? dalam sel untuk melihat dokumentasi bantuan untuk perintah ajaib sql di notebook.
Menjalankan kueri dan output SQL ke Pandas DataFrame
Anda dapat meng-output hasil kueri %%sql ke dalam Pandas DataFrame. Gunakan sintaks:
%%sql --database {database_id} --container {container_id} --output {outputDataFrameVar}
{Query text}
- Mengganti
{database_id}dan{container_id}dengan nama database dan kontainer di akun Cosmos Anda. Jika argumen--databasedan--containertidak disediakan, kueri akan dijalankan pada database dan kontainer default. - Mengganti
{outputDataFrameVar}dengan nama variabel DataFrame yang akan berisi hasil. - Anda dapat menjalankan kueri SQL yang valid di Azure Cosmos DB. Teks kueri harus berada di baris baru.
Contohnya:
%%sql --database RetailDemo --container WebsiteData --output df_cosmos
SELECT c.Action, c.Price as ItemRevenue, c.Country, c.Item FROM c
df_cosmos.head(10)
Action ItemRevenue Country/Region Item
0 Viewed 9.00 Tunisia Black Tee
1 Viewed 19.99 Antigua and Barbuda Flannel Shirt
2 Added 3.75 Guinea-Bissau Socks
3 Viewed 3.75 Guinea-Bissau Socks
4 Viewed 55.00 Czech Republic Rainjacket
5 Viewed 350.00 Iceland Cosmos T-shirt
6 Added 19.99 Syrian Arab Republic Button-Up Shirt
7 Viewed 19.99 Syrian Arab Republic Button-Up Shirt
8 Viewed 33.00 Tuvalu Red Top
9 Viewed 14.00 Cabo Verde Flip Flop Shoes
Mengatur database default untuk kueri
Anda bisa mengatur perintah database default %%sql yang akan digunakan untuk notebook. Mengganti {database_id} dengan nama database Anda.
%database {database_id}
Jalankan %database? dalam sel untuk melihat dokumentasi di notebook.
Mengatur kontainer default untuk kueri
Anda bisa mengatur perintah database default %%sql yang akan digunakan untuk notebook. Mengganti{container_id} dengan nama kontainer Anda.
%container {container_id}
Jalankan %container? dalam sel untuk melihat dokumentasi di notebook.
Mengunggah item JSON ke kontainer
Anda dapat menggunakan %%upload perintah ajaib untuk mengunggah data dari file JSON ke kontainer Azure Cosmos tertentu. Gunakan perintah berikut untuk mengunggah item:
%%upload --databaseName {database_id} --containerName {container_id} --url {url_location_of_file}
- Mengganti
{database_id}dan{container_id}dengan nama database dan kontainer di akun Azure Cosmos Anda. Jika argumen--databasedan--containertidak disediakan, kueri akan dijalankan pada database dan kontainer default. - Mengganti
{url_location_of_file}dengan lokasi file JSON Anda. File harus merupakan array obyek JSON yang berlaku dan seharusnya bisa diakses melalui Internet publik.
Contohnya:
%%upload --database databaseName --container containerName --url
https://contoso.com/path/to/data.json
Documents successfully uploaded to ContainerName
Total number of documents imported : 2654
Total time taken : 00:00:38.1228087 hours
Total RUs consumed : 25022.58
Dengan statistik output, Anda dapat menghitung RU/dtk efektif yang digunakan untuk mengunggah item. Misalnya, jika 25.000 RU yang digunakan lebih dari 38 detik, RU/dtk yang efektif adalah 25.000 RU / 38 detik = 658 RU/dtk.
Anda bisa menyimpan file (seperti file CSV atau JSON) ke ruang kerja notebook lokal. Kami menyarankan agar Anda menambahkan sel di notebook Anda untuk menyimpan file. Anda dapat melihat file-file ini dari terminal terintegrasi di lingkungan notebook. Anda dapat menggunakan perintah "ls" untuk melihat file yang disimpan. Namun, file-file ini dihapus jika Anda mengatur ulang ruang kerja. Jadi, sebaiknya menggunakan penyimpanan persisten seperti GitHub atau akun penyimpanan daripada ruang kerja lokal.
Menjalankan notebook lain di notebook saat ini
Anda bisa menggunakan %%run perintah ajaib untuk menjalankan notebook lain di ruang kerja Anda dari notebook Anda saat ini. Gunakan sintaks:
%%run ./path/to/{notebookName}.ipynb
Mengganti {notebookName} dengan nama notebook yang ingin Anda jalankan. Notebook harus berada di 'Ruang Kerja Notebook Saya' saat ini.
Menggunakan penjelajah data nteract bawaan
Anda dapat menggunakan penjelajah data nteract bawaan untuk memfilter dan memvisualisasikan DataFrame. Untuk mengaktifkan fitur ini, atur opsi pd.options.display.html.table_schema ke True dan pd.options.display.max_rows ke nilai yang diinginkan (Anda dapat mengatur pd.options.display.max_rows ke None untuk menampilkan semua hasil).
import pandas as pd
pd.options.display.html.table_schema = True
pd.options.display.max_rows = None
df_cosmos.groupby("Item").size()
Menggunakan Python SDK bawaan
Versi 4 dari Azure Cosmos DB Python SDK untuk SQL API dipasang dan disertakan dalam lingkungan notebook untuk akun Azure Cosmos.
Gunakan instance bawaan cosmos_client untuk menjalankan operasi SDK apa pun.
Contohnya:
## Import modules as needed
from azure.cosmos.partition_key import PartitionKey
## Create a new database if it doesn't exist
database = cosmos_client.create_database_if_not_exists('RetailDemo')
## Create a new container if it doesn't exist
container = database.create_container_if_not_exists(id='WebsiteData', partition_key=PartitionKey(path='/CartID'))
Lihat Sampel Python SDK.
Penting
Python SDK bawaan hanya didukung untuk akun API SQL (Core). Untuk API lain, Anda harus memasang driver Python yang relevan yang sesuai dengan API.
Membuat instans cosmos_client kustom
Untuk fleksibilitas lebih lanjut, Anda dapat membuat instans cosmos_client kustom untuk:
- Menyesuaikan kebijakan koneksi
- Jalankan operasi terhadap akun Azure Cosmos yang berbeda dari yang Anda masuki
Anda dapat mengakses string koneksi dan kunci utama akun saat ini melalui variabel lingkungan.
import azure.cosmos.cosmos_client as cosmos
import azure.cosmos.documents as documents
# These should be set to a region you've added for Azure Cosmos DB
region_1 = "Central US"
region_2 = "East US 2"
custom_connection_policy = documents.ConnectionPolicy()
custom_connection_policy.PreferredLocations = [region_1, region_2] # Set the order of regions the SDK will route requests to. The regions should be regions you've added for Cosmos, otherwise this will error.
# Create a new instance of CosmosClient, getting the endpoint and key from the environment variables
custom_client = cosmos.CosmosClient(url=COSMOS.ENDPOINT, credential=COSMOS.KEY, connection_policy=custom_connection_policy)
Mengakses titik akhir akun dan variabel env kunci utama
Anda bisa mengakses titik akhir bawaan dan kunci akun tempat notebook Anda berada.
endpoint = COSMOS.ENDPOINT
primary_key = COSMOS.KEY
Penting
Variabel COSMOS.ENDPOINT dan COSMOS.KEY hanya berlaku untuk SQL API. Untuk API lain, temukan titik akhir dan kunci di bilah String Koneksi atau Kunci di akun Azure Cosmos Anda.
Mereset ruang kerja notebook
Untuk mengatur ulangt ruang kerja notebook ke pengaturan default, pilih Reset Ruang Kerja pada bilah perintah. Cara Ini akan menghapus paket yang dipasang kustom dan memulai ulang server Jupyter. Notebook, file, dan sumber daya Azure Cosmos Anda tidak akan terpengaruh.
Langkah berikutnya
- Mempelajari tentang manfaat notebook Azure Cosmos DB Jupyter
- Mempelajari tentang Azure Cosmos DB Python SDK untuk SQL API