【问题标题】:Db2 Warehouse (on Cloud): How to create external table?Db2 Warehouse(云端):如何创建外部表?
【发布时间】: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


【解决方案1】:

语法和其他一切都是正确的。我发现我的实例不在最新的代码级别。文档领先于我的云环境。我现在可以使用 SQL 创建上述外部表和 SELECT

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-16
    • 2020-04-24
    • 1970-01-01
    • 2011-09-13
    相关资源
    最近更新 更多