0

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

然后,由于我需要从 csv 文件中导入大量数据,我创建了一个 scala 脚本,该脚本读取每个文件并提取数据并尝试插入数据库

为此,我使用 snappydata 附带的 spark,我使用

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

该目录存在并且一切都“运行”“好的”......(不太正确)

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

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

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

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

感谢您的帮助......正如我所说......我在 snappydata 和 spark 方面还不够基本,所以我在尝试配置和设置我的环境时感到有点失落......

4

1 回答 1

0

要将 CSV 数据导入 SnappyData,您可以创建外部表并使用“插入”命令导入数据。您不必使用 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 应该在所有服务器上都可用。有关导入数据的其他方法,请参阅文档中的操作方法部分。

要使用 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 进行连接的更多详细信息,请参阅文档。

于 2017-07-05T09:19:47.733 回答