我正在尝试构建一个ETL流程,将数据提取到GemFire并加载到Teradata中。然而,我没有找到一个好的机制来导出数据。到目前为止,我发现的唯一一件事就是rest api,它可以从一个区域获取所有条目。但是,这对批量导出有好处吗?它将以json格式返回数据,在将数据加载到表中之前必须对其进行解析,我认为这对于大数据量来说不会有很好的性能。有没有其他的解决方案?比如从GemFire中将数据导出为csv?或者到GemFire的ODBC/JDBC连接?我在GemFire XD文档中找到了批量导出和ODBC/JDBC,但没有在核心Gemfire中找到。那么它们在核心GemFire中不受支持吗?核心GemFire和XD版本有什么不同?
发布于 2019-04-18 20:06:30
这是两种不同的产品,在设计时考虑到了不同的东西。SQL为内存中的表数据提供了一个低延迟的GemFire接口,因此它通常用作内存中的RDBMS。另一方面,GemFire是一个内存中的数据网格,对于你插入到区域中的数据没有任何限制,你基本上是处理自定义的java对象,而不是表。此外,我知道GemFire XD过去是在GemFire之上构建的,不确定它的当前状态(您可能想看看Snappy Data以了解更多详细信息)。
也就是说,严格地说,对于GemFire,您可以导出区域的快照,然后将它们导入到另一个集群中。更好的是,您可以逐项读取快照条目,以便进一步处理或转换为其他格式,我相信这正是您正在寻找的格式。请查看Cache and Region Snapshots以获取详细信息。
希望这能有所帮助。干杯。
https://stackoverflow.com/questions/55744868
复制相似问题