如何在现有的SnappyData中使用嵌入式spark

时间:2017-07-05 08:33:38

标签: scala apache-spark snappydata

我使用过snappy-sql并在那里创建了一些表并进行了一些插入和查询......一切正常

然后,因为我需要从csv文件导入大量数据,所以我创建了一个scala脚本来读取每个文件并提取数据并尝试插入数据库

为此,我使用了snappydata附带的火花,我使用

连接

./ bin / spark-shell --conf spark.snappydata.store.sys-disk-dir = snappydatadir --conf spark.snappydata.store.log-file = snappydatadir / quickstart.log

目录存在且所有内容都运行" " ok" ...(不完全正确)

这是问题...当我尝试对我在snappy-sql中创建的表进行查询时... spark-shell告诉我表不存在...当脚本到达时insert命令发生相同的

所以我的问题,因为我是新生儿...

如何连接到spark-shell(snappydir / bin / spark-shell ...)并使用snappydata中已存在的表?

我打赌我点头添加一些特定的配置......

感谢您的帮助...正如我所说的......我在snappydata和spark中不太基本,所以我感觉有点迷失,试图配置和设置我的环境...

1 个答案:

答案 0 :(得分:0)

要将CSV数据导入SnappyData,您可以创建外部表并使用' insert into'命令导入数据。你不必使用spark-shell,只需使用snappy-sql shell。例如:

-- this assumes locator is running on the localhost snappy> connect client 'localhost:1527'; -- create an external table snappy> CREATE EXTERNAL TABLE table1_staging (col1 int, col2 int, col3 string) USING csv OPTIONS (path ‘path_to_csv_file’); --import data into table1 snappy>insert into table1 select * from table1_staging;

path_to_csv_file应该可以在所有服务器上使用。有关导入数据的其他方法,请参阅文档中的how-to部分。

要使用spark-shell,请使用属性snappydata.connection连接到SnappyData集群。此属性的值将为' locatorHost:clientConnectionPort' (默认客户端连接端口为1527)

例如:

bin/spark-shell --master local[*] --conf spark.snappydata.connection=localhost:1527 --conf spark.ui.port=4041

有关如何使用spark-shell进行连接的更多详细信息,请参阅documentation