【发布时间】:2018-01-29 09:40:36
【问题描述】:
根据“What's new in Db2 Warehouse on Cloud, ...”可以创建外部表。我查看了有关如何create such an external table to link to my Amazon S3 and my IBM Bluemix / Softlayer Swift Cloud Object Storage 的语法的链接文档。我有一个带有“入门计划”的 Db2 Warehouse on Cloud,我没有看到任何提到的限制。
CREATE EXTERNAL TABLE exttab1(a int,s varchar(50)) using
(dataobject 'testdata.csv'
swift('https://fra02.objectstorage.softlayer.net/auth/v1.0/',
'IBMOS12345:userid',
'5---MyFullAPIKeyHere---b983',
'henrik'
)
)
上面的SQL语句给了我:
SQL0104N:数据库/sql/驱动程序:[IBM][CLI 驱动程序][DB2/LINUXX8664] SQL0104N 在“CREATE”之后发现了意外的标记“EXTERNAL”。 预期的标记可能包括:“”。 SQLSTATE=42601
什么是正确的语法?有我不知道的限制吗?
【问题讨论】:
-
没有。它行不通。您很幸运 DB2 忽略了您的请求。 S3 永远不能用作数据存储,除非您打算将其用作一次读取内存数据存储。否则,无法“更新” S3 对象。即使它允许您进行快速读取和替换,AWS 也会为每 10k 读取/1k 写入 + 数据传输成本向您收取 0.01 美元。
-
外部表是应用程序之间数据交换和加载少量数据的简单方法。 LOAD 已经支持 S3 和 Swift
-
也许,您应该快速查看下面提到 S3 的代码,即
S3 (endpoint, authKey1, authKey2, bucket). -
我在 IBM Cloud 上使用 Cloud Object Storage 和 Swift API。 S3 是可能的,但我并不想要。
-
我会先检查对象存储访问。 knowledgelayer.softlayer.com/faq/…
标签: amazon-s3 db2 ibm-cloud dashdb ibm-cloud-storage