緩存表

適用於:檢查標記是的磚運行時

緩存內容的表或查詢的輸出給定的存儲水平在Apache火花緩存。如果一個查詢緩存,然後為這個查詢創建一個臨時視圖。這減少了掃描的原始文件在以後的查詢。

語法

緩存(懶惰的]table_name(選項(“storageLevel”(=]價值)]((作為]查詢]

看到自動和手動緩存磁盤緩存之間的差異和Apache火花緩存。

參數

  • 懶惰的

    隻緩存表時第一次使用,而不是立即。

  • table_name

    識別三角洲表或視圖緩存。必須不包含一個名稱時間規範。如果表不能發現磚了TABLE_OR_VIEW_NOT_FOUND錯誤。

  • 選項(“storageLevel”(=)值)

    選項條款與storageLevel鍵和值。時發出警告以外的一個關鍵storageLevel使用。有效的選擇storageLevel是:

    • 沒有一個

      • DISK_ONLY

      • DISK_ONLY_2

      • MEMORY_ONLY

      • MEMORY_ONLY_2

      • MEMORY_ONLY_SER

      • MEMORY_ONLY_SER_2

      • MEMORY_AND_DISK

      • MEMORY_AND_DISK_2

      • MEMORY_AND_DISK_SER

      • MEMORY_AND_DISK_SER_2

      • OFF_HEAP

    拋出異常時無效的值設置為storageLevel。如果storageLevel不是顯式地設置使用選項條款,默認storageLevel被設置為MEMORY_AND_DISK

  • 查詢

    要緩存查詢產生的行。它可以在一個如下格式:

    • 一個選擇聲明

    • 一個聲明

    • 一個聲明

例子

>緩存testCache選項(“storageLevel”“DISK_ONLY”)選擇*testData;