2016-08-05 34 views
0

此列表的DDL導致id_和nam​​e_字段爲CLOB。如何在列表DDL中創建VARCHAR?

我該如何獲得VARCHAR?

snappy> CREATE TABLE EXAMPLE_COLUMN_TABLE (
    id_ VARCHAR(64), 
    name_ VARCHAR(128), 
    time_ TIMESTAMP, 
    number_ INTEGER 
) 
USING column 
OPTIONS(PARTITION_BY 'time_', buckets '113', PERSISTENT 'ASYNCHRONOUS'); 
+0

如@jagsr如下所述,其由於在火花SQL缺失VARCHAR類型(https://jira.snappydata.io/browse/SNAP-735)。本月的某個時候,我們將在下一個版本中爲CREATE TABLE添加VARCHAR的顯式處理。 Spark SQL執行引擎仍然將它視爲STRING,因爲沒有大小限制字符串的概念,但JDBC/ODBC客戶端將看到它很好。 – Sumedh

回答

0

不幸的是,這是由於Spark SQL中缺少VARCHAR類型。所以,我們把它變成一個'String',它在我們的數據字典中變成一個CLOB。 無論如何,這將在即將發佈的版本中得到解決。 VARCHARs將被完全授予。而且,字符串類型實際上會變成具有未指定長度的VARCHAR。

現在,您可以使用CAST功能嗎?

select CAST(id_ AS VARCHAR(64)), ... from example_column_table