2016-08-05 19 views
0

Diese DDL für eine Spaltentabelle führt zu CLOB für die Felder id_ und name_.Wie erstelle ich VARCHAR in einer Spaltentabelle DDL?

Wie kann ich stattdessen VARCHARs erhalten?

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 Wie unten erwähnt, aufgrund seiner VARCHAR Typ in Spark-SQL (https://jira.snappydata.io/browse/SNAP-735) zu fehlen. Wir werden die explizite Behandlung von VARCHAR für CREATE TABLE in der nächsten Version dieses Monats hinzufügen. Spark SQL-Ausführungsengine wird es weiterhin als STRING sehen, da es kein Konzept von größenbegrenzten Zeichenfolgen gibt, aber JDBC/ODBC-Clients werden es gut sehen. – Sumedh

Antwort

0

Leider ist dies aufgrund fehlender VARCHAR-Typ in Spark SQL. Also machen wir daraus einen 'String', der in unserem Data Dictionary zu einem CLOB wird. In jedem Fall wird dies in der kommenden Version behoben werden. VARCHARs werden vollständig geehrt. Und String-Typen werden in der Tat in VARCHAR mit unspezifizierter Länge umgewandelt.

Können Sie jetzt nur die CAST-Funktion verwenden?

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