如何从 CSV 创建 table?

How to create a table from a CSV?

SnappyData v.0.5

我想做一些类似于在 QuickStart 加载脚本中加载 parquet 文件的操作。

CREATE TABLE STAGING_AIRLINEREF USING parquet OPTIONS(path '../../quickstart/data/airportcodeParquetData');

但是,我有 CSV 文件而不是镶木地板文件。我在任何 RowStore 文档中都没有看到 "USING parquet" 或 CSV 版本,所以我猜测并失败了。

CREATE TABLE STAGING_ROADS USING csv OPTIONS(path 'roads.csv');

如何直接从 CSV 文件创建 table,其中 header 行是列名,其余部分作为数据行加载?

编辑

好的。按照 Spark-CSV 语法,我加载此文件并获得零行或 table.

"roadId","name"
"1","Road 1"
"2","Road 2"
"3","Road 3"
"4","Road 4"
"5","Road 5"
"6","Road 6"
"7","Road 7"
"8","Road 8"
"9","Road 9"
"10","Road 10"


snappy> run '/home/ubuntu/data/example/load_roads.sql';
snappy> SET SCHEMA A;
0 rows inserted/updated/deleted
snappy> DROP TABLE IF EXISTS STAGING_ROADS;
0 rows inserted/updated/deleted
snappy> CREATE TABLE STAGING_ROADS
(road_id string, name string)
USING com.databricks.spark.csv
OPTIONS(path '/home/ubuntu/data/example/roads.csv', header 'true');
0 rows inserted/updated/deleted

您可以使用以下方式:

CREATE TABLE STAGING_ROADS USING com.databricks.spark.csv OPTIONS(path 'roads.csv', header "true");

是的,不幸的是,shell 显示了从 JDBC 返回的集合,并且可能会误导 DDL 命令。请注意,即使 'SET SCHEMA' 也是如此。 添加了一个新的 JIRA 来跟踪这个问题 - https://jira.snappydata.io/browse/SNAP-940