Github user dongjoon-hyun commented on a diff in the pull request:

    https://github.com/apache/spark/pull/22263#discussion_r224977190
  
    --- Diff: 
sql/core/src/test/scala/org/apache/spark/sql/CachedTableSuite.scala ---
    @@ -288,6 +297,68 @@ class CachedTableSuite extends QueryTest with 
SQLTestUtils with SharedSQLContext
         }
       }
     
    +  test("SQL interface support storageLevel(DISK_ONLY)") {
    +    sql("CACHE TABLE testData OPTIONS('storageLevel' 'DISK_ONLY')")
    +    assertCached(spark.table("testData"))
    +    val rddId = rddIdOf("testData")
    +    assert(isExpectStorageLevel(rddId, Disk))
    +    assert(!isExpectStorageLevel(rddId, Memory))
    +    spark.catalog.uncacheTable("testData")
    +  }
    +
    +  test("SQL interface select from table support storageLevel(DISK_ONLY)") {
    +    sql("CACHE TABLE testSelect OPTIONS('storageLevel' 'DISK_ONLY') select 
* from testData")
    +    assertCached(spark.table("testSelect"))
    +    val rddId = rddIdOf("testSelect")
    +    assert(isExpectStorageLevel(rddId, Disk))
    +    assert(!isExpectStorageLevel(rddId, Memory))
    +    spark.catalog.uncacheTable("testSelect")
    +  }
    +
    +  test("SQL interface support storageLevel(DISK_ONLY) with invalid 
options") {
    +    sql("CACHE TABLE testData OPTIONS('storageLevel' 'DISK_ONLY', 'a' '1', 
'b' '2')")
    +    assertCached(spark.table("testData"))
    +    val rddId = rddIdOf("testData")
    +    assert(isExpectStorageLevel(rddId, Disk))
    +    assert(!isExpectStorageLevel(rddId, Memory))
    +    spark.catalog.uncacheTable("testData")
    +  }
    +
    +  test("SQL interface support storageLevel(MEMORY_ONLY)") {
    +    sql("CACHE TABLE testData OPTIONS('storageLevel' 'MEMORY_ONLY')")
    +    assertCached(spark.table("testData"))
    +    val rddId = rddIdOf("testData")
    +    assert(!isExpectStorageLevel(rddId, Disk))
    +    assert(isExpectStorageLevel(rddId, Memory))
    +  }
    +
    +  test("SQL interface support storageLevel(Invalid StorageLevel)") {
    +    val message = intercept[IllegalArgumentException] {
    +      sql("CACHE TABLE testData OPTIONS('storageLevel' 
'invalid_storage_level')")
    +    }.getMessage
    +    assert(message.contains("Invalid StorageLevel: INVALID_STORAGE_LEVEL"))
    +  }
    +
    +  test("SQL interface support storageLevel(with LAZY)") {
    +    sql("CACHE LAZY TABLE testData OPTIONS('storageLevel' 'disk_only')")
    +    assertCached(spark.table("testData"))
    +
    +    val rddId = rddIdOf("testData")
    +    assert(
    +      !isMaterialized(rddId),
    +      "Lazily cached in-memory table shouldn't be materialized eagerly")
    +
    +    sql("SELECT COUNT(*) FROM testData").collect()
    +    assert(
    +      isMaterialized(rddId),
    +      "Lazily cached in-memory table should have been materialized")
    +
    --- End diff --
    
    We didn't check the storage level in this test case.
    Add `isExpectStorageLevel` here?


---

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to