

本文為英文版的機器翻譯版本，如內容有任何歧義或不一致之處，概以英文版為準。

# 使用儲存格魔術
<a name="notebooks-spark-magics-cell-magics"></a>

編寫在多行上的魔術前面有一個雙百分比符號 (`%%`)，被稱為儲存格魔術函數或儲存格魔術。

## %%sql
<a name="notebooks-spark-magics-sql"></a>

此儲存格魔術允許直接執行 SQL 陳述式，而不必用 Spark SQL 語句來進行裝飾。該命令還可隱式呼叫傳回的 Dataframe 上的 `.show()`，進而顯示輸出。

![\[使用%%sql。\]](http://docs.aws.amazon.com/zh_tw/athena/latest/ug/images/notebooks-spark-magics-1.png)


`%%sql` 命令會自動將資料欄輸出截斷為 20 個字元的寬度。這目前無法設定。若要解決此限制，請使用下列完整語法，並相應地修改 `show` 方法的參數。

```
spark.sql("""YOUR_SQL""").show(n=number, truncate=number, vertical=bool)
```
+ **n**`int`，選用。要顯示的資料列數目。
+ **截斷** – `bool` 或 `int`，可選-如為 `true`，則會截斷超過 20 個資源的字串。當設定為大於 1 的數字時，會將長字串截斷為指定長度，並靠右對齊儲存格。
+ **垂直** – `bool`，選用。如為 `true`，則會垂直列印輸出資料列 (每個資料欄值一行)。