2016-08-05 1 views
0

この列テーブルのDDLの結果、id_およびname_フィールドの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の明示的な処理を追加します。サイズが制限された文字列の概念がないため、スパークSQL実行エンジンはSTRINGとしてそれを見ていますが、JDBC/ODBCクライアントはそれをうまく見ることができます。 – Sumedh

答えて

0

残念ながら、これはSpark SQLにVARCHAR型がないためです。したがって、これをデータ・ディクショナリでCLOBになる 'String'に変換します。 いずれにしても、これは今後のリリースで解決される予定です。 VARCHARは完全に名誉を与えられます。また、String型は実際には長さが指定されていないVARCHARに変換されます。

今のところ、CAST関数を使用できますか?

select CAST(id_ AS VARCHAR(64)), ... from example_column_table 
関連する問題