2016-08-05 37 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