在 Azure Synapse Analytics 中建立、開發及維護 Synapse 筆記本
Synapse 筆記本是 Web 介面,可讓您建立含有即時程式碼、視覺效果和敘述文字的檔案。 筆記本是驗證想法和使用快速實驗從您的資料取得見解的絕佳位置。 筆記本也廣泛用於資料準備、資料視覺效果、機器學習和其他巨量資料案例。
Synapse 筆記本的用途:
- 無須設定即可開始使用。
- 使用內建的企業安全性功能保護資料的安全。
- 分析包括原始格式 (CSV、txt、JSON 等)、經處理的檔案格式 (parquet、Delta Lake、ORC 等),以及針對 Spark 和 SQL 的 SQL 表格式資料檔案等各種資料。
- 透過增強的撰寫功能和內建的資料視覺效果,提高生產力。
本文說明如何在 Synapse Studio 中使用筆記本。
建立 Notebook
建立筆記本的方法有兩種。 您可以建立新的筆記本,也可以從物件總管將現有的筆記本匯入 Synapse 工作區。 Synapse 筆記本可辨識標準 Jupyter Notebook IPYNB 檔案。
開發筆記本
筆記本由儲存格組成,而儲存格是個別的程式碼或文字區塊,可獨立或成群執行。
我們提供豐富的作業來開發筆記本:
- 新增儲存格
- 設定主要語言
- 使用多種語言
- 使用暫存資料表跨語言參考資料
- 整合式開發環境 (IDE) 樣式的 IntelliSense
- 程式碼片段
- 使用工具列按鈕格式化文字儲存格
- 復原/重做儲存格作業
- 程式碼儲存格註解
- 移動儲存格
- 刪除儲存格
- 摺疊儲存格輸入
- 摺疊儲存格輸出
- 筆記本大綱
新增儲存格
有多種方式可將新的儲存格新增至您的筆記本。
將游標停留在兩個儲存格之間的空隙,然後選取 [程式碼] 或 [Markdown]。
使用命令模式下的 aznb 快速鍵。 按下 [A],將儲存格插入目前的儲存格上方。 按下 [B],將儲存格插入目前的儲存格下方。
設定主要語言
Synapse 筆記本支援四種 Apache Spark 語言:
- PySpark (Python)
- Spark (Scala)
- Spark SQL
- .NET Spark (C#)
- SparkR (R)
您可以從頂端命令列的下拉式清單中,為新加入的儲存格設定主要語言。
使用多種語言
您可以在儲存格的開頭指定正確的語言 magic 命令,以便在同個筆記本中使用多種語言。 下表列出用來切換儲存格語言的 magic 命令。
Magic 命令 | Language | 描述 |
---|---|---|
%%pyspark | Python | 針對 Spark 內容執行 Python 查詢。 |
%%spark | Scala | 針對 Spark 內容執行 Scala 查詢。 |
%%sql | SparkSQL | 針對 Spark 內容執行 SparkSQL 查詢。 |
%%csharp | 適用於 Spark C# 的 .NET | 針對 Spark 內容執行適用於 Spark C# 的 .NET 查詢。 |
%%sparkr | R | 針對 Spark 內容執行 R 查詢。 |
下圖是如何使用 %%pyspark magic 命令,或在 Spark(Scala) 筆記本中使用 %%sql magic 命令的 SparkSQL 查詢,以便撰寫 PySpark 查詢的範例。 請注意,筆記本的主要語言會設定為 pySpark。
使用暫存資料表跨語言參考資料
在 Synapse 筆記本中,您無法在不同語言之間直接參考資料或變數。 在 Spark 中,可以跨語言參考暫存資料表。 以下範例說明如何使用 Spark 暫存資料表做為因應措施,讀取 PySpark
和 SparkSQL
中的 Scala
資料框架。
在儲存格 1 中,使用 Scala 從 SQL 集區連接器讀取資料框架,並建立暫存資料表。
%%spark val scalaDataFrame = spark.read.sqlanalytics("mySQLPoolDatabase.dbo.mySQLPoolTable") scalaDataFrame.createOrReplaceTempView( "mydataframetable" )
在儲存格 2 中,使用 Spark SQL 查詢資料。
%%sql SELECT * FROM mydataframetable
在儲存格 3 中,使用 PySpark 中的資料。
%%pyspark myNewPythonDataFrame = spark.sql("SELECT * FROM mydataframetable")
整合式開發環境 (IDE) 樣式的 IntelliSense
Synapse 筆記本與 Monaco 編輯器整合,將 IDE 樣式 IntelliSense 引進儲存格編輯器。 語法醒目提示、錯誤標記和自動程式碼完成,協助您更快撰寫程式碼和識別問題。
IntelliSense 功能在不同語言的成熟度層級不同。 使用下表來查看支援的功能。
Languages | 語法醒目提示 | 語法錯誤標記 | 語法程式碼完成 | 變數程式碼完成 | 系統函數程式碼完成 | 使用者函式程式碼完成 | 智慧縮排 | 程式碼摺疊功能 |
---|---|---|---|---|---|---|---|---|
PySpark (Python) | 是 | Yes | Yes | Yes | Yes | Yes | Yes | 是 |
Spark (Scala) | 是 | Yes | Yes | Yes | Yes | Yes | - | 是 |
SparkSQL | 是 | Yes | Yes | Yes | 是 | - | - | - |
適用於 Spark (C#) 的 .NET | 是 | Yes | Yes | Yes | Yes | Yes | Yes | Yes |
注意
需要有使用中的 Spark 工作階段,才能利用 .NET for Spark (C#) 的變數程式碼完成、系統函式程式碼完成、使用者函式程式碼完成。
程式碼片段
Synapse 筆記本提供程式碼片段,可讓您更輕鬆輸入常用的程式碼模式,例如設定 Spark 工作階段、以 Spark 資料框架形式讀取資料,或使用 matplotlib 繪製圖表等。
程式碼片段出現在 IDE 樣式 IntelliSense 的快速鍵中,並混合其他建議。 程式碼片段內容配合程式碼儲存格語言。 輸入 Snippet 或任何關鍵字,就可以在程式碼儲存格編輯器的程式碼片段標題中看到可用的程式碼片段。 例如,輸入 read 可以看到用於從各種資料來源讀取資料的程式碼片段清單。
使用工具列按鈕格式化文字儲存格
您可以使用 [文字儲存格] 工具列中的 [格式] 按鈕來執行常見的 Markdown 動作。 其中包括粗體文字、斜體文字、段落/標題的下拉式清單、插入程式碼、插入未排序清單、插入已排序清單、插入超連結,以及從 URL 插入影像。
復原/重做儲存格作業
選取 [復原] / [重做] 按鈕或按下 Z / Shift+Z 可撤銷最近的儲存格作業。 您現在可以復原最近 10 個過往的儲存格動作。
支援的復原儲存格作業:
- 插入/刪除儲存格:您可以選取 [復原] 來撤銷刪除作業,文字內容會與儲存格一起保存。
- 重新排序儲存格。
- 切換參數。
- 在程式碼儲存格與 Markdown 儲存格之間轉換。
注意
儲存格內文字作業和程式碼儲存格註解作業無法復原。 您現在可以復原最近 10 個過往的儲存格動作。
程式碼儲存格註解
選取筆記本工具列上的 [註解] 按鈕,以開啟 [註解] 窗格。
在程式碼儲存格中選取程式碼,按一下 [註解] 窗格中的 [新增],然後按一下 [張貼註解] 按鈕來儲存。
您可以按一下註解旁邊的 [更多] 按鈕,以執行編輯註解、解決對話或刪除對話。
移動儲存格
按一下儲存格的左側,然後拖曳至所需的位置。
刪除儲存格
若要刪除儲存格,請選取資料格右側的刪除按鈕。
您也可以使用 命令模式下的快速鍵。 按下 Shift+D 可刪除目前的儲存格。
摺疊儲存格輸入
在儲存格工具列上選取 [更多命令] 省略符號 (...),然後選取 [隱藏輸入],以摺疊目前儲存格的輸入。 若要展開,請在儲存格已摺疊時選取 [顯示輸入]。
摺疊儲存格輸出
選取儲存格工具列上的 [更多命令] 省略符號 (...),然後選取 [隱藏輸出],以摺疊目前儲存格的輸出。 若要展開,請在儲存格的輸出已隱藏時選取 [顯示輸出]。
筆記本大綱
[大綱] (目錄) 在側邊欄視窗中顯示任何 markdown 儲存格的第一個 markdown 標頭,以方便快速導覽。 [大綱] 側邊欄可調整大小也可摺疊,以最適合畫面大小。 您可以選取筆記本命令列上的 [大綱] 按鈕,以開啟或隱藏側邊欄
執行筆記本
您可以個別或一次全部在您的筆記本中執行程式碼儲存格。 每個儲存格的狀態和進度都會在筆記本中表示。
執行儲存格
有數種方式可以在儲存格中執行程式碼。
將游標停留在您想要執行的儲存格上,然後選取 [執行儲存格] 按鈕,或按下 Ctrl+Enter。
使用 命令模式下的快速鍵。 按下 Shift+Enter 以執行目前的儲存格,然後選取下方的儲存格。 按下 Alt+Enter 以執行目前的儲存格,並在下方插入新的儲存格。
執行所有儲存格
選取 [全部執行] 按鈕,依序執行目前筆記本中的所有儲存格。
執行上方或下方所有儲存格
展開 [全部執行] 按鈕的下拉式清單,然後選取 [執行上方的儲存格],以依序執行目前儲存格上方的所有儲存格。 選取 [執行下方的儲存格],依序執行目前儲存格下方的所有儲存格。
取消所有執行中的儲存格
選取 [全部取消] 按鈕,以取消執行中的儲存格或在佇列中等待的儲存格。
筆記本參考
在目前筆記本的範圍內,您可以使用 %run <notebook path>
magic 命令來參考另一個筆記本。 參考筆記本中定義的所有變數都可以在目前的筆記本中使用。 %run
magic 命令支援巢狀呼叫,但不支援遞迴呼叫。 如果陳述式深度大於五,您會收到例外狀況。
範例: %run /<path>/Notebook1 { "parameterInt": 1, "parameterFloat": 2.5, "parameterBool": true, "parameterString": "abc" }
.
筆記本參考在互動模式和 Synapse 管線中都有作用。
注意
%run
命令目前僅支援以參數傳遞絕對路徑或筆記本名稱,不支援相對路徑。%run
命令目前最多僅支援 4 個參數值型別:int
、float
、bool
、string
,不支援變數取代作業。- 需要發佈參考的筆記本。 您必須發佈筆記本才能予以參考,除非已啟用參考未發佈的筆記本。 Synapse Studio 無法辨識 Git 存放庫中未發佈的筆記本。
- 參考的筆記本不支援深度大於五的陳述式。
變數總管
Synapse 筆記本提供內建變數總管,讓您在目前的 Spark 工作階段中,查看 PySpark (Python) 儲存格的變數名稱、型別、長度和值的清單。 隨著程式碼儲存格中定義變數,將會自動出現越多變數。 按一下每個資料行標頭會排序資料表中的變數。
您可以選取筆記本命令列上的 [變數] 按鈕,以開啟或隱藏變數總管。
注意
變數瀏覽器僅支援 Python。
儲存格狀態指標
儲存格下方會逐步顯示儲存格執行狀態,以協助您檢視目前的進度。 儲存格執行完成之後,會顯示包含總持續時間和結束時間的執行摘要,並保留在該處供日後參考。
Spark 進度指示器
Synapse 筆記本完全以 Spark 為基礎。 程式碼儲存格在遠端的無伺服器 Apache Spark 集區上執行。 系統隨即會提供具有即時進度列的 Spark 作業進度列指示器,以協助您瞭解作業執行狀態。 每個作業或階段的工作數目可協助您找出 Spark 作業的平行層級。 您也可以透過選取作業 (或階段) 名稱上的連結,更深入鑽研特定工作 (或階段) 的 Spark UI。
Spark 工作階段設定
您可以在 [設定工作階段] 中指定要提供給目前 Spark 工作階段的執行程式逾時時間、數目和大小。 重新啟動 Spark 工作階段,設定變更才會生效。 所有快取的筆記本變數都會清除。
您也可以從 Apache Spark 設定建立設定,或選取現有的設定。 如需詳細資料,請參閱 Apache Spark 設定管理。
Spark 工作階段設定 magic 命令
您也可以透過 magic 命令 %% configure 來指定 Spark 工作階段設定。 Spark 工作階段需要重新啟動,設定才會生效。 建議您在筆記本開頭執行 %%configure。 以下是範例,如需完整的有效參數清單,請參閱 https://github.com/cloudera/livy#request-body。
%%configure
{
//You can get a list of valid parameters to config the session from https://github.com/cloudera/livy#request-body.
"driverMemory":"28g", // Recommended values: ["28g", "56g", "112g", "224g", "400g", "472g"]
"driverCores":4, // Recommended values: [4, 8, 16, 32, 64, 80]
"executorMemory":"28g",
"executorCores":4,
"jars":["abfs[s]://<file_system>@<account_name>.dfs.core.windows.net/<path>/myjar.jar","wasb[s]://<containername>@<accountname>.blob.core.windows.net/<path>/myjar1.jar"],
"conf":{
//Example of standard spark property, to find more available properties please visit:https://spark.apache.org/docs/latest/configuration.html#application-properties.
"spark.driver.maxResultSize":"10g",
//Example of customized property, you can specify count of lines that Spark SQL returns by configuring "livy.rsc.sql.num-rows".
"livy.rsc.sql.num-rows":"3000"
}
}
注意
- 在 %%configure 中,建議將 "DriverMemory" 和 "ExecutorMemory" 設定為相同的值,"driverCores" 和 "executorCores" 也一樣。
- 您可以在 Synapse 管線中使用 %%configure,但如果未在第一個程式碼儲存格中設定,則管線執行將會因為無法重新啟動工作階段而失敗。
- mssparkutils.notebook.run 中使用的 %%configure 會被忽略,但 %run notebook 中使用的 %%configure 則會繼續執行。
- 必須在 "conf" 主體中使用標準 Spark 設定屬性。 我們不支援在第一層參考 Spark 設定屬性。
- 某些特殊的 Spark 屬性 (包括 "spark.driver.cores"、"spark.executor.cores"、"spark.driver.memory"、"spark.executor.memory"、"spark.executor.instances") 不會在 "conf" 主體中生效。
來自管線的參數化工作階段設定
參數化工作階段設定可讓您將 %%configure magic 中的值以管線執行 (筆記本活動) 參數取代。 準備 %%configure 程式碼儲存格時,您可以使用類似如下的物件來覆寫預設值 (下列範例中的 4 和 "2000" 也可設定):
{
"activityParameterName": "paramterNameInPipelineNotebookActivity",
"defaultValue": "defaultValueIfNoParamterFromPipelineNotebookActivity"
}
%%configure
{
"driverCores":
{
"activityParameterName": "driverCoresFromNotebookActivity",
"defaultValue": 4
},
"conf":
{
"livy.rsc.sql.num-rows":
{
"activityParameterName": "rows",
"defaultValue": "2000"
}
}
}
如果直接在互動模式中執行筆記本,或沒有任何參數符合從管線筆記本活動提供的 "activityParameterName",則筆記本將會使用預設值。
在管線執行模式期間,您可以設定管線筆記本活動設定如下:
如果您想要變更工作階段設定,管線筆記本活動參數名稱應該與筆記本中的 activityParameterName 相同。 執行此管線時,在此範例中,%%configure 中的 driverCores 會以 8 取代,而 livy.rsc.sql.num-rows 會以 4000 取代。
注意
如果執行管線因為使用此新的 %%configure magic 而失敗,您可以在筆記本的互動模式中執行 %%configure magic 儲存格,來查看更多錯誤資訊。
將資料帶入筆記本
您可以從 Azure Blob 儲存體、Azure Data Lake Store Gen 2 和 SQL 集區載入資料,如下列程式碼範例所示。
從 Azure Data Lake Store Gen2 讀取 CSV 做為 Spark 資料框架
from pyspark.sql import SparkSession
from pyspark.sql.types import *
account_name = "Your account name"
container_name = "Your container name"
relative_path = "Your path"
adls_path = 'abfss://%s@%s.dfs.core.windows.net/%s' % (container_name, account_name, relative_path)
df1 = spark.read.option('header', 'true') \
.option('delimiter', ',') \
.csv(adls_path + '/Testfile.csv')
以 Spark 資料框架的形式從 Azure Blob 儲存體讀取 CSV
from pyspark.sql import SparkSession
# Azure storage access info
blob_account_name = 'Your account name' # replace with your blob name
blob_container_name = 'Your container name' # replace with your container name
blob_relative_path = 'Your path' # replace with your relative folder path
linked_service_name = 'Your linked service name' # replace with your linked service name
blob_sas_token = mssparkutils.credentials.getConnectionStringOrCreds(linked_service_name)
# Allow SPARK to access from Blob remotely
wasb_path = 'wasbs://%s@%s.blob.core.windows.net/%s' % (blob_container_name, blob_account_name, blob_relative_path)
spark.conf.set('fs.azure.sas.%s.%s.blob.core.windows.net' % (blob_container_name, blob_account_name), blob_sas_token)
print('Remote blob path: ' + wasb_path)
df = spark.read.option("header", "true") \
.option("delimiter","|") \
.schema(schema) \
.csv(wasbs_path)
讀取主要儲存體帳戶中的資料
您可以直接存取主要儲存體帳戶中的資料。 不需要提供祕密金鑰。 在 [資料總管] 中,以滑鼠右鍵按一下檔案,然後選取 [新筆記本],以檢視已自動產生資料解壓縮的新筆記本。
IPython 小工具
Widget 是瀏覽器中具有標記法的具事件 Python 物件,通常是滑杆、文字方塊等控制項。IPython 小工具只能在 Python 環境中運作,其他語言 (不支援它,例如 Scala、SQL、C#) 。
使用 IPython 小工具
您必須先匯入
ipywidgets
模組,才能使用 Jupyter 小工具架構。import ipywidgets as widgets
您可以使用最上層
display
函式來呈現小工具,或在程式碼儲存格的最後一行保留小工具類型的運算式。slider = widgets.IntSlider() display(slider)
slider = widgets.IntSlider() slider
執行儲存格,小工具會出現在輸出區域。
您可以使用多個
display()
呼叫,讓同一個小工具執行個體多次呈現,但仍彼此保持同步。slider = widgets.IntSlider() display(slider) display(slider)
若要呈現彼此獨立的兩個小工具,請建立兩個小工具執行個體:
slider1 = widgets.IntSlider() slider2 = widgets.IntSlider() display(slider1) display(slider2)
支援的小工具
小工具類型 | 小工具 |
---|---|
數值小工具 | IntSlider、FloatSlider、FloatLogSlider、IntRangeSlider、FloatRangeSlider、IntProgress、FloatProgress、BoundedIntText、BoundedFloatText、IntText、FloatText |
布林值小工具 | ToggleButton、Checkbox、Valid |
選取項目小工具 | Dropdown、RadioButtons、Select、SelectionSlider、SelectionRangeSlider、ToggleButtons、SelectMultiple |
字串小工具 | Text、Text area、Combobox、Password、Label、HTML、HTML Math、Image、Button |
播放 (動畫) 小工具 | 日期選擇器、色彩選擇器、控制器 |
容器/版面配置小工具 | Box、HBox、VBox、GridBox、Accordion、Tabs、Stacked |
已知的限制
尚不支援下列小工具,您可以採取如下對應的解決方法:
功能 因應措施 Output
小工具您可以改用 print()
函式將文字寫入 stdout。widgets.jslink()
您可以使用 widgets.link()
函式來連結兩個相似的小工具。FileUpload
小工具尚不支援。 Synapse 提供的
display
全域函式不支援在 1 個呼叫 (例如display(a, b)
) 中顯示多個小工具,這與 IPythondisplay
函式不同。如果您關閉包含 IPython 小工具的筆記本,除非再次執行對應的儲存格,否則無法看到小工具或與之互動。
儲存筆記本
您可以將單一筆記本或所有筆記本儲存在工作區中。
若要儲存對單一筆記本所做的變更,請在筆記本命令列上選取 [發佈] 按鈕。
若要儲存工作區中的所有筆記本,請選取 [工作區] 命令列上的 [全部發佈] 按鈕。
在筆記本屬性中,您可以設定是否要在儲存時包含儲存格輸出。
Magic 命令
您可以在 Synapse 筆記本中使用熟悉的 Jupyter magic 命令。 請檢閱下列目前可用的 magic 命令清單。 請在 GitHub 上提出您的使用案例,讓我們繼續設計更多 magic 命令來符合您的需求。
注意
Synapse 管線中僅支援下列 magic 命令:%%pyspark、%%spark、%%csharp、%%sql。
可用的單行 magic:%lsmagic、%time、%timeit、%history、%run、%load
可用的儲存格 magic:%%time、%%timeit、%%capture、%%writefile、%%sql、%%pyspark、%%spark、%%csharp、%%html、%%configure
參考未發佈的筆記本
當您想要在「本機」偵錯時,參考未發佈的筆記本會很有幫助。當您啟用此功能時,筆記本執行會在 Web 快取中擷取目前的內容。如果您執行包含參考筆記本陳述式的儲存格,則會參考目前筆記本瀏覽器中呈現的筆記本,而不是叢集中儲存的版本。這表示其他筆記本可以立即參考您筆記本編輯器中的變更,而不需要發佈 (即時模式) 或認可 (Git 模式)。利用此方法,您就可以輕鬆地避免通用程式庫在開發或偵錯過程中遭到污染。
您可以從 [屬性] 面板啟用參考未發佈的筆記本:
如需不同的案例比較,請查看下表:
請注意,%run 和 mssparkutils.notebook.run 在此的行為相同。 我們在這裡使用 %run
作為範例。
案例 | 停用 | 啟用 |
---|---|---|
即時模式 | ||
- Nb1 (已發佈) %run Nb1 |
執行 Nb1 的已發佈版本 | 執行 Nb1 的已發佈版本 |
- Nb1 (新的) %run Nb1 |
錯誤 | 執行新的 Nb1 |
- Nb1 (先前已發佈、已編輯) %run Nb1 |
執行 Nb1 的已發佈版本 | 執行 Nb1 的已編輯版本 |
Git 模式 | ||
- Nb1 (已發佈) %run Nb1 |
執行 Nb1 的已發佈版本 | 執行 Nb1 的已發佈版本 |
- Nb1 (新的) %run Nb1 |
錯誤 | 執行新的 Nb1 |
- Nb1 (未發佈、已認可) %run Nb1 |
錯誤 | 執行已認可的 Nb1 |
- Nb1 (先前已發佈、已認可) %run Nb1 |
執行 Nb1 的已發佈版本 | 執行 Nb1 的已認可版本 |
- Nb1 (先前已發佈,最新分支中新的) %run Nb1 |
執行 Nb1 的已發佈版本 | 執行新的 Nb1 |
- Nb1 (未發佈、先前已認可、已編輯) %run Nb1 |
錯誤 | 執行 Nb1 的已編輯版本 |
- Nb1 (先前已發佈且認可、已編輯) %run Nb1 |
執行 Nb1 的已發佈版本 | 執行 Nb1 的已編輯版本 |
結論
- 如果停用,請一律執行已發佈版本。
- 如果啟用,優先順序為:已編輯 / 新的 > 已認可 > 已發佈。
使用中工作階段管理
您現在可以方便地重複使用筆記本工作階段,而不需要啟動新的工作階段。 Synapse 筆記本現在支援管理 [管理工作階段] 清單中的使用中工作階段,您可以在目前的工作區中看到您從筆記本啟動的所有工作階段。
在 [使用中工作階段] 清單中,您可以看到工作階段資訊,以及目前連結到工作階段的對應筆記本。 您可以對筆記本執行中斷連結、停止工作階段,以及在監視中檢視。 此外,您可以輕鬆地將選取的筆記本連接到清單中從另一個筆記本啟動的使用中工作階段。如果先前的筆記本不在閒置狀態,工作階段將會與其中斷連結,然後連結到目前的筆記本。
筆記本中的 Python 記錄
您可以遵循下列範例程式碼來尋找 Python 記錄,並設定不同的記錄層級和格式:
import logging
# Customize the logging format for all loggers
FORMAT = "%(asctime)s - %(name)s - %(levelname)s - %(message)s"
formatter = logging.Formatter(fmt=FORMAT)
for handler in logging.getLogger().handlers:
handler.setFormatter(formatter)
# Customize log level for all loggers
logging.getLogger().setLevel(logging.INFO)
# Customize the log level for a specific logger
customizedLogger = logging.getLogger('customized')
customizedLogger.setLevel(logging.WARNING)
# logger that use the default global log level
defaultLogger = logging.getLogger('default')
defaultLogger.debug("default debug message")
defaultLogger.info("default info message")
defaultLogger.warning("default warning message")
defaultLogger.error("default error message")
defaultLogger.critical("default critical message")
# logger that use the customized log level
customizedLogger.debug("customized debug message")
customizedLogger.info("customized info message")
customizedLogger.warning("customized warning message")
customizedLogger.error("customized error message")
customizedLogger.critical("customized critical message")
整合筆記本
將筆記本新增至管線
選取右上角的 [新增至管線] 按鈕,將筆記本新增至現有的管線或建立新的管線。
指定參數儲存格
若要將筆記本參數化,請選取省略符號 (...),以存取儲存格工具列上的更多命令。 然後選取 [切換參數儲存格],將儲存格指定為參數儲存格。
Azure Data Factory 會尋找參數儲存格,並將此儲存格視為執行時所傳遞參數的預設。 執行引擎會在參數資料格下方新增資料格,且帶有輸入參數來覆寫預設值。
從管線指派參數值
建立具有參數的筆記本之後,即可從管線中透過 Synapse 筆記本活動來執行。 將活動新增至管線畫布之後,即可在 [設定] 索引標籤的 [基底參數] 區段下設定參數值。
快速鍵
與 Jupyter 筆記本類似,Synapse 筆記本也有強制回應使用者介面。 鍵盤會根據筆記本儲存格所在的模式來執行不同的動作。 Synapse 筆記本在任一程式碼儲存格中支援下列兩種模式:命令模式和編輯模式。
沒有文字游標提示您輸入時,儲存格就會處於命令模式。 儲存格處於命令模式時,您可以將筆記本當做整體編輯,但無法輸入個別的儲存格。 按下
ESC
或在儲存格的編輯器區域外按一下滑鼠,可進入命令模式。編輯模式會以文字游標指示,提示您在編輯器區域中輸入。 當儲存格處於編輯模式時,您可以在儲存格中輸入文字。 按下
Enter
或在儲存格的編輯器區域上按一下滑鼠,可進入編輯模式。
命令模式下的快速鍵
動作 | Synapse 筆記本快速鍵 |
---|---|
執行目前的儲存格並在下方選取 | Shift+Enter |
執行目前的儲存格並在下方插入 | Alt+Enter |
執行目前的儲存格 | Ctrl+Enter |
選取上方儲存格 | 上移 |
選取下方儲存格 | 向下 |
選取上一個儲存格 | K |
選取下一個儲存格 | J |
在上方插入儲存格 | A |
在下方插入儲存格 | B |
刪除選取的儲存格 | Shift+D |
切換至編輯模式 | Enter |
編輯模式下的快速鍵
在編輯模式下,您可以使用下列按鍵快速鍵,在 Synapse 筆記本中更輕鬆瀏覽和執行程式碼。
動作 | Synapse 筆記本快速鍵 |
---|---|
向上移動資料指標 | 上移 |
向下移動資料指標 | 向下 |
復原 | Ctrl + Z |
取消復原 | Ctrl + Y |
註解/取消註解 | Ctrl + / |
刪除此前的文字 | Ctrl + 退格鍵 |
刪除此後的文字 | Ctrl + Delete |
移至儲存格開端 | Ctrl + Home |
移至儲存格末端 | Ctrl + End |
往左移一個單字 | Ctrl + 向左鍵 |
往右移一個單字 | Ctrl + 向右鍵 |
全選 | Ctrl + A |
縮排 | Ctrl + ] |
Dedent | Ctrl + [ |
切換到命令類型 | Esc |