Watson Query でサポートされるデータ・ソース

Watson Query は、 IBM Cloud Pak® for Data上で以下のリレーショナル・データ・ソースと非リレーショナル・データ・ソースをサポートします。

Cloud Pak for Data でサポートされるデータ・ソースも参照してください。

サイズ制限
Watson Query は、行サイズが 1 MB までの表と、表内の最大 2048 列までの表の仮想化をサポートします。 ただし、 Watson Query がプレビューできる列の数は、列のデータ・タイプなど、多くの要因によって異なります。 現在、プレビューは 200 列に制限されています。
コメント属性
仮想表の作成時に、 Watson Query には、データ・ソース・オブジェクトに割り当てられたコメント属性は含まれません。 この制限は、すべてのデータ・ソースに適用されます。
データ・タイプ
データ・ソース内の一部のデータ・タイプは、 Watson Queryではサポートされない場合があります。 これらの制限は、以下の表に記載されています。 Watson Query は、データ・ソース内の一部のデータ・タイプを代替データ・タイプにマップする場合もあります。 これらのマッピングは、基礎となる Db2® Big SQL マッピングに基づいています。 詳しくは、 Db2 Big SQLのデータ・タイプを参照してください。

IBM データ・ソース

以下の表に、 Watson Queryから接続できる IBM データ・ソースをリストします。

表 1. サポートされている IBM データ・ソース
コネクター 制限 詳細情報
IBM Cloud® Databases for MongoDB IBM Cloud Databases for MongoDB はベータ版として使用できます。

Watson Queryでサポートされる MongoDB データ・タイプは、 INT32、 INT64、DOUBLE、STRING、BOOLEAN、DATE、および BINARY です。

 
IBM Cloud Databases for MySQL    
IBM Cloud データベース ( PostgreSQL用)  

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

IBM Cloud Object Storage

この接続には、 Watson Queryでの特別な考慮事項が必要です。 Watson Query での IBM Cloud Object Storage への接続を参照してください。

制限については、 Watson Queryのオブジェクト・ストレージ内のデータ・ソースを参照してください。

 
IBM Data Virtualization Manager for z/OS®  

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

IBM Db2
  • 各国語文字 (NCHAR) 型および各国語可変長文字 (NVARCHAR) 型は、 Watson Queryではサポートされません。

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

IBM Db2 Big SQL  

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

IBM Db2 for i  

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

IBM Db2 for z/OS  
IBM Db2 on Cloud 各国語文字 (NCHAR) 型および各国語可変長文字 (NVARCHAR) 型は、 Watson Queryではサポートされません。  
IBM Db2 Warehouse    
IBM Informix® INTERVAL、BIGINT、および BIGSERIAL データ・タイプは、 Watson Queryではサポートされません。 詳しくは、 JDBC Informix ドライバーを使用するときに例外が発生するを参照してください。
IBM Netezza® Performance Server
  • BLOB、XML、および CLOB Netezza データ・タイプは、 Watson Queryではサポートされません。
  • SELECT ステートメントを使用するか、64 kBより大きい LOB データをプレビューすると、 Watson Query はデータを 64 K バイトのみに切り捨てます。

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

IBM Planning Analytics
  • Watson Query は、1 つの列ディメンションを持つ TM1® ビューのみを仮想化できます。
  • 集計を TM1にプッシュダウンできません。 TM1 に対するクエリーに COUNT、SUM、AVG、MAX、MIN、または GROUP BY などの集計操作が含まれている場合は、以下のサーバー・オプションを追加できます。
    alter server qplex options (add DB2_GROUP_BY 'N') 
  • Watson Query では、 TM1で VARCHAR データ型と DOUBLE データ型のみがサポートされます。
  • TM1 は SQL を認識しません。 TM1 のネイティブ・クエリー言語は MDX であり、プッシュダウンの概念はありません。 したがって、このデータ・ソースは、最適な述部プッシュダウンをサポートするように構成されていません。
 
IBM Watson™ Query
重要: Watson Query インスタンスへの接続を作成しないでください。

カタログでの Watson Query 接続の手動作成も参照してください。

 

サード・パーティーのデータ・ソース

以下の表に、 Watson Queryから接続できるサード・パーティー・データ・ソースをリストします。

表 2. サポートされるサード・パーティーのデータソース
コネクター 制限 詳細情報
Amazon RDS for MySQL
  • 「仮想化」 ページで行が重複しないようにするには、 MySQL データ・ソース上のデータベースへの接続を 1 つだけ作成する必要があります。 MySQL は、データベースの分離をサポートしていません。
  • BIT タイプは、 Watson Queryではサポートされません。

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

Amazon RDS for Oracle
  • SELECT ステートメントを使用するか、64 kBより大きい LOB データをプレビューすると、 Watson Query はデータを 64 K バイトのみに切り捨てます。
  • VARCHAR データ・タイプの 2 つの列を持つ、同じデータ・ソースからの 2 つの表の結合ビューを作成します。 しかし、リモート・データ・ソースに結合ビューがプッシュダウンされません。 この問題を解決するには、 結合ビューをプッシュダウンできないを参照してください。
  • Watson Queryでは、以下のデータ型が変換されます。
    • INTERVAL および JSON は VARCHAR に変換されます。
    • 国別文字タイプは CHAR、VARCHAR、または CLOB に変換されます。
    • TIMESTAMP および TIMESTAMP WITH LOCAL TIME ZONE は TIMESTAMP に変換されます。
    • XML は CLOB に変換されます。
  • ˇ

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

Amazon RDS for PostgreSQL  

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

Amazon Redshift SPATIAL、スケッチ、および UPPER データ・タイプは、 Watson Queryで CLOB に変換されます。

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

Amazon S3

この接続には、 Watson Queryでの特別な考慮事項が必要です。 Watson Queryでの Amazon S3 への接続を参照してください。

  • Amazon S3でのバケットの命名には特定の規則が適用されます。 詳しくは、Amazon S3 資料の バケットの命名規則 を参照してください。
  • バケットの名前にドットを含めると、独自の証明書検証を実行しない限り、HTTPS 経由で仮想ホスト・スタイルのアドレッシングを使用することはできません。 バケットの仮想ホスティングに使用されるセキュリティー証明書は、名前にドットが含まれているバケットでは機能しません。
  • AWS PrivateLink for Amazon S3を使用すると、仮想プライベート・クラウド (VPC) でインターフェース VPC エンドポイント (インターフェース・エンドポイント) をプロビジョンできます。 Amazon S3 データ・ソースへの接続を作成するときに、これらのエンドポイントを 「エンドポイント」 URL で使用することはできません。 このタイプのエンドポイントはサポートされていません。 Amazon S3の標準エンドポイント (例えば、 http://s3.eu-central-1.amazonaws.com/) を使用する必要があります。
  • その他の制限については、 Watson Queryのオブジェクト・ストレージ内のデータ・ソースを参照してください。
 
Apache Derby  

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

Apache Hive
  • 仮想表では、配列、マップ、構造体、および uniontype タイプなどの複合データ・タイプの値についてはリストのみが可能です。 これらの複合データ・タイプの値に対する他の操作は、サポートされていません。
  • SELECT ステートメントを使用するか、64 kBより大きい LOB データをプレビューすると、 Watson Query はデータを 64 K バイトのみに切り捨てます。
  • Hive データ・ソースのストリング・タイプおよびバイナリー・タイプは、CLOB および BLOB ではなく、デフォルトで VARCHAR(32672) および VARBINARY(32672) に解決されるようになりました。 Watson Query 管理者は、 HIVE_MAX_STRING_SIZE および HIVE_MAX_BINARY_SIZEを構成できます。 この更新により、 Hive データ・ソースの SQL パフォーマンスが最適化されます。 Watson Query 管理者は、 DVSYS.SETCONFIGPROPERTY プロシージャーを呼び出すことにより、 HIVE_MAX_STRING_SIZE および HIVE_MAX_BINARY_SIZE を構成できます。

    例えば、Hive BINARY データ・タイプのデフォルトの最大サイズを 2000( VARBINARY(2000)に解決される) に変更するには、以下のコマンドを実行します。

    db2 "call dvsys.setconfigproperty ('HIVE_MAX_BINARY_SIZE', '2000', '', ?, ?)"

    最小サイズは 1 、最大推奨サイズは 32672です。 32672 を超えることはできますが、STRING タイプと BINARY タイプは CLOB タイプと BLOB タイプに解決されるため、特定の照会が失敗する可能性があります。

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

Ceph

この接続には、 Watson Queryでの特別な考慮事項が必要です。 Watson Queryでの Ceph への接続を参照してください。

制限については、 Watson Queryのオブジェクト・ストレージ内のデータ・ソースを参照してください。

 
Cloudera Impala  

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

Denodo    
ファイル・システム
重要: このタイプの接続は、 IBM Cloud Pak for Dataでの使用は推奨されません。 リモート・コネクターを使用して、ファイル・システムのファイルに接続します。 詳しくは、 Watson Queryでのリモート・コネクターを使用したデータ・ソースへのアクセスを参照してください。
 
汎用 S3

制限については、 Watson Queryのオブジェクト・ストレージ内のデータ・ソースを参照してください。

 
Google BigQuery

この接続には、 Watson Queryでの特別な考慮事項が必要です。 Watson Queryでの Google BigQuery への接続を参照してください。

  • Google BigQuery データ・ソースでは、 Watson Query は、データ・タイプが RECORDの列に対する SELECT ステートメントの使用をサポートしていません。

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

Greenplum  

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

MariaDB
  • LONGTEXT タイプは CLOB (65535) に変換され、LONGBLOB タイプは BLOB (65535) に変換されます。 サイズが 32672 を超える VARCHAR も CLOB (65535) に変換されます。 この BIT タイプは、 Watson Queryではサポートされません。
  • 「仮想化」 ページで行が重複しないようにするには、 MariaDB データ・ソース上のデータベースへの接続を 1 つだけ作成する必要があります。 MariaDB は、データベースの分離をサポートしていません。
  • 統計情報の収集などの拡張操作のためには、 MariaDB データ・ソースの管理権限が必要です。

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

Microsoft Azure Data Lake Storage Gen2    
Microsoft Azure SQL Database    
Microsoft SQL Server
  • SELECT ステートメントを使用するか、64 kBより大きい LOB データをプレビューすると、 Watson Query はデータを 64 K バイトのみに切り捨てます。

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

MinIO

この接続には、 Watson Queryでの特別な考慮事項が必要です。 Watson Query での MinIO への接続を参照してください。

制限については、 Watson Queryのオブジェクト・ストレージ内のデータ・ソースを参照してください。

 
MongoDB
  • BIT、LONGTEXT、および LONGBLOB タイプは、 Watson Queryではサポートされません。
  • 統計情報の収集などの拡張操作のためには、 MongoDB データ・ソースの管理権限が必要です。
 
MySQL

(My SQL Community Edition)

(My SQL Enterprise Edition)

  • 「仮想化」 ページで行が重複しないようにするには、 MySQL データ・ソース上のデータベースへの接続を 1 つだけ作成する必要があります。 MySQL は、データベースの分離をサポートしていません。
  • BIT タイプは、 Watson Queryではサポートされません。
  • BIGINT 関数は、 Watson Queryの INTERSECT、INTERSECT ALL、EXCEPT、EXCEPT ALL などのセット演算ではサポートされません。

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

Oracle
  • SELECT ステートメントを使用するか、64 kBより大きい LOB データをプレビューすると、 Watson Query はデータを 64 K バイトのみに切り捨てます。
  • VARCHAR データ・タイプの 2 つの列を持つ、同じデータ・ソースからの 2 つの表の結合ビューを作成します。 しかし、リモート・データ・ソースに結合ビューがプッシュダウンされません。 この問題を解決するには、 結合ビューをプッシュダウンできないを参照してください。
  • Watson Queryでは、以下のデータ型が変換されます。
    • INTERVAL および JSON は VARCHAR に変換されます。
    • 国別文字タイプは CHAR、VARCHAR、または CLOB に変換されます。
    • TIMESTAMP および TIMESTAMP WITH LOCAL TIME ZONE は TIMESTAMP に変換されます。
    • XML は CLOB に変換されます。
    • SMALLINT、INTEGER、BIGINT は、DECIMAL 4.0、DECIMAL 9.0、および DECIMAL 18.0に変換されます。

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

PostgreSQL  

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

Salesforce.com  

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

SAP ASE    
SAP Business Warehouse (BW)

( SAP OData コネクターの使用)

SAP Business Warehouse (BW) データ・ソースがその CatalogServiceを公開するように構成されていない場合は、 DataDirect ServiceList 接続プロパティーを使用して、明示的なサービス (またはサービスのリスト) を指定する必要があります。 この ServiceList 接続プロパティーを SAP Gateway URL 接続プロパティーに組み込みます。

HTTP 要求を以下の形式で使用して、 CatalogService を確認できます。

http://<server><:port>/sap/opu/odata/iwfnd/CATALOGSERVICE/
例えば、以下のようにします。
http://bw4hana.ibm.com:8000/sap/opu/odata/iwfnd/CATALOGSERVICE;v=0002/ServiceCollection
以下の理由により、読めない表をプレビューまたは照会することはできません。
  • SAP OData データ・ソースには書き込み専用アクセス権限がある場合があります。 そのような場合には、ユーザー権限を変更しても、この問題は回避されません。
  • SAP OData データ・ソースには読み取り権限がありますが、フィルターが必要です。 この制限事項は、データをプレビューすることはできないが、フィルターを指定すれば読み取ることはできることを意味します。
 
SAP HANA および SAP HANA on SAP Cloud Platform

この接続には、 Watson Queryでの特別な考慮事項が必要です。 Watson Query での SAP HANA への接続 および Watson Query の SAP Cloud Platform 上の SAP HANA への接続を参照してください。

VARCHAR 述部の SAP HANAへのプッシュダウンを構成するには、以下のステップを適用します。

  1. Data virtualization > 「SQL の実行」 エディターで、以下のステートメントを実行して、 SAP HANA データ・ソースの内部接続 ID (CID) を識別します。

    select * from DVSYS.listrdbc;

  2. 次に、次の 2 つのコマンドを実行して、CID のプッシュダウンを有効にします。 次の例では、CID は SAPHA10005です。

    alter server qplex options(add SAPHA10005@collating_sequence 'Y'); alter server qplex options(add SAPHA10005@varchar_no_trailing_blanks 'Y');

注: varchar データに末尾ブランクがないこと、および Watson Query の照合シーケンスがリモート SAP HANA データ・ソースの照合シーケンスと同じであることを確認する必要があります。

データ・タイプが TINYINT のデータが含まれている SAP HANA データ・ソースをプレビューする場合、 TINYINT 型の一部の行に不正確なデータが表示されます。 ただし、データ・ソースを仮想化できます。 影響を受けるのはプレビューだけです。

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

SAP OData
以下の理由により、読めない表をプレビューまたは照会することはできません。
  • SAP OData データ・ソースには書き込み専用アクセス権限がある場合があります。 そのような場合には、ユーザー権限を変更しても、この問題は回避されません。
  • SAP OData データ・ソースには読み取り権限がありますが、フィルターが必要です。 この制限事項は、データをプレビューすることはできないが、フィルターを指定すれば読み取ることはできることを意味します。
 
SAP S/4HANA

( SAP OData コネクターの使用)

SAP S/4HANA データ・ソースがその CatalogServiceを公開するように構成されていない場合は、 DataDirect ServiceList 接続プロパティーを使用して、明示的なサービス (またはサービスのリスト) を指定する必要があります。 この ServiceList 接続プロパティーを SAP Gateway URL 接続プロパティーに組み込みます。

HTTP 要求を http://<server><:port>/sap/opu/odata/iwfnd/CATALOGSERVICE/の形式で使用して、 CatalogService を確認できます。

詳しくは、 SAP ヘルプ資料を参照してください。

以下の理由により、読めない表をプレビューまたは照会することはできません。
  • SAP OData データ・ソースには書き込み専用アクセス権限がある場合があります。 そのような場合には、ユーザー権限を変更しても、この問題は回避されません。
  • SAP OData データ・ソースには読み取り権限がありますが、フィルターが必要です。 この制限事項は、データをプレビューすることはできないが、フィルターを指定すれば読み取ることはできることを意味します。
 
Snowflake

この接続には、 Watson Queryでの特別な考慮事項が必要です。 Watson Queryでの Snowflake への接続を参照してください。

  • ARRAY、GEOGRAPHY、および VARIANT データ・タイプは、VARCHAR に変換されます。

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

Teradata

Teradata JDBC Driver 17.00 Copyright (C) 2023 ( Teradataによる)。 All Rights Reserved. IBM は、 IBM Watson® サービス・オファリングの一部として使用する場合に限り、 Teradata のライセンスに基づいて Teradata JDBC ドライバーの組み込み使用を提供します。

  • XML Teradata データ・タイプは、 Watson Queryではサポートされません。 XML データ・タイプは CLOB に変換されます。
  • DECFLOAT では、DECIMAL データは 34 桁までサポートされます。 この制限を超えるデータ列は、仮想化中に DOUBLE に編集する必要があります。
  • Watson Queryでは、以下のデータ型が変換されます。
    • 大/小文字の区別を処理するために、CHAR または VARCHAR データに対する GROUP BY または WHERE 述部などのストリング比較演算を含む照会。
    • VARBYTE は、ビット・データ用に VARCHAR に変換されます。
    • BYTE は BINARY に変換されます。
    • BYTEINT は SMALLINT に変換されます。
    • TIME ZONE ベアリングは TIME および TIMESTAMP に変換されます。
    • PERIOD、DISTINCT、DATASET、および ARRAY は BLOB に変換されます。
    • NUMBER は DOUBLE に変換されます。
    • YEAR、YEAR TO MONTH、DAY、DAY TO MINUTE、HOUR TO MINUTE、MONTH、HOUR、および MINUTE は INTEGER に変換されます。
    • DAY TO SECOND、HOUR TO SECOND、MINUTE TO SECOND、SECOND は DECIMAL に変換されます。
  • SELECT ステートメントを使用するか、64 kBより大きい LOB データをプレビューすると、 Watson Query はデータを 64 K バイトのみに切り捨てます。

この接続は、このデータ・ソースの照会機能を利用するように最適化されています。

ユーザー定義のデータ・ソース

以下の表に、 Watson Queryから接続できるユーザー定義のデータ・ソースをリストします。

表 3. サポートされるユーザー定義データ・ソース
コネクター 制限 詳細情報
汎用 JDBC

この接続には、 Watson Queryでの特別な考慮事項が必要です。 Watson Queryでの汎用 JDBC ドライバーを使用したデータ・ソースへの接続を参照してください。

注: このコネクターは、データ・ソースがサポート対象のデータ・ソースとしてリストされていない場合にのみ使用してください。
 

Watson Query のオブジェクト・ストレージのデータ・ソース

IBM Cloud Object StorageAmazon S3CephGeneric S3、または MinIO データ・ソースにファイルとして保管されているデータを使用して、仮想表を作成できます。 クラウド・オブジェクト・ストレージに保存されているデータにアクセスするには、ファイルが置かれているデータ・ソースへの接続を作成する必要があります。

1 つ以上のファイルのデータをセグメント化または結合して、仮想表を作成できます。 Watson Query のオブジェクト・ストレージ内のファイルへのアクセスは、 Hadoop 外部表サポートを使用する Db2 Big SQL 機能に基づいて構築されています。 詳しくは、 CREATE TABLE (HADOOP) ステートメントを参照してください。

用語

バケットおよびパーティションは、データの編成において重要な役割を果たします。 以下のコンポーネントは、オブジェクト・ストレージのキー・エレメントです。
  • バケット は、データのコンテナーを提供するために使用される論理抽象化です。 Object Storage にはフォルダーの概念はありません。バケットとキーのみです。 バケットは、オブジェクト・ストレージ・データ・ソースのインターフェースでのみ作成できます。 Watson Queryでは作成できません。 バケット名は固有でなければならず、オブジェクト・ストレージ・プロバイダーのルールに準拠している必要があります。 これらの規則には、多くの場合、小文字、数字、およびダッシュのみを使用して名前を 3 文字から 63 文字に制限することが含まれます。 バケット名の先頭と末尾は、小文字か数値でなければなりません。 Watson Query がオブジェクト・ストレージ内のデータにアクセスする場合、バケット名はすべてのオブジェクト・ストレージ接続で固有でなければなりません。
  • ファイル・パス は、データを保管するファイルへの完全パスです。 S3 ファイル・システム実装では、長さゼロのファイルをディレクトリーのように扱うことができ、スラッシュ (/) を含むファイル名はネストされたディレクトリーのように扱われます。 ファイル・パスには、バケット名、オプションのファイル・パス、およびファイル名が含まれます。 Object Storageでは、表の作成時にファイル・パスが使用されます。 同じパスにあるすべてのファイルが表データに寄与します。 ファイル・パスに別のファイルを追加することで、さらにデータを追加できます。
  • パーティション とは、スキーマ内の共通属性によってグループ化されるデータのことです。 パーティション化により、データは複数のファイル・パスに分割され、ディレクトリーのように扱われます。 Watson Query は、パーティションを検出して使用することにより、照会で処理する必要があるデータの量を減らすことができます。これにより、パーティション列で述部を使用する照会のパフォーマンスを向上させることができます。

ベスト・プラクティス

ファイル・フォーマット
Watson Query は、PARQUET (または PARQUETFILE)、ORC (最適化された行の縦欄)、CSV (コンマ区切り値)、TSV (タブ区切り値)、および JSON ファイル形式をサポートします。 その他のファイル形式はサポートされません。
  • PARQUET (または PARQUETFILE) の場合、ファイル拡張子は必要ありません。 メタデータはデータ・ファイルから抽出されます。
  • ORC の場合、ファイル拡張子は必要ありません。 メタデータはデータ・ファイルから抽出されます。
  • CSV ファイルおよび TSV ファイルの場合:
    • 以下のように、適切な .csv または .tsv ファイル拡張子が必要です。
      • CSV: .csv ファイル拡張子は必須で、ファイルの内容はコンマ区切り値の指定に従う必要があります。
      • TSV: .tsv ファイル拡張子が必要であり、ファイルの内容はタブ区切り値の仕様に従う必要があります。
    • オプション・パラメーターを使用して、CSV ファイルおよび TSV ファイル内のフィールド値を囲むストリング区切り文字 (quoteChar) を指定できます。
      • quoteChar が指定されている場合、データの照会のパフォーマンスに悪影響が及ぶ可能性があります。
      • デフォルト値は区切り文字なし (指定なし) です。
      • quoteChar の値は、スペース (ブランク)、円記号 (¥)、タブ、コンマ、または改行文字 (\n) にすることができない単一文字でなければなりません。
      • ストリング値にストリング区切り文字 (quoteChar) が含まれている場合は、円記号 (\) を使用してストリング区切り文字をエスケープできます。
  • JSON ファイルの場合、.jsonファイル拡張子が必要です。 JSON ファイルは、各行が有効な JSON オブジェクトになるようにコーディングする必要があります。 行は改行文字 (\n) で区切る必要があります。 JSON Lines テキスト形式 (改行区切り JSON とも呼ばれる) は、サポートされる唯一の JSON 形式です。 このフォーマットは、一度に1レコードずつ処理できる構造化されたデータを格納します。
注: 他のすべてのファイル・フォーマットはエラーを返します。 詳しくは、 Cloud Object Storageでサポートされないファイル・フォーマットを使用しようとしたときのエラー・メッセージを参照してください。
データの編成
  • 列名に英数字を使用しないでください。 Hive の互換性を妨げる可能性があります。 英数字でも下線文字でもない文字は、_xNNNNとしてエンコードされます。ここで、_xNNNN は文字の 16 進値です。 列名を正しく表示するには、以下の手順を実行して allownonalphanumeric オプションを有効にします。
    1. Watson Query インスタンス (c-db2u-dv-db2u-0) のヘッド・ポッドにアクセスします。
    2. 以下のコマンドを実行して、 allownonalphanumeric オプションを含むように構成を編集します。
      db2uctl adm bigsql config --key bigsql.catalog.identifier.mappingrules --value allownonalphanumeric,allowleadingdigits,allowreservedwords
    3. 以下のコマンドを実行して、 Big SQLを再始動します。
      su - db2inst1 
      bigsql stop ; 
      bigsql start 
      
  • 仮想化された表を介してオブジェクト・ストレージ・データにアクセスする場合、仮想化するファイルは単一ファイル・パス内および単一バケット内になければならず、バケットにはカートに追加するファイルが少なくとも 1 つ含まれていなければなりません。 このファイル・パス内のすべてのファイルは、仮想表の一部です。 表にさらにデータが追加されると (新規ファイルがファイル・パスに作成されます)、仮想表にアクセスしたときにデータが可視になります。 ファイル・パス内のすべてのファイルは、1 つの表として仮想化されるように、同じファイル・フォーマットを使用する必要があります。
  • 複数のファイル・パスにあるファイルを 1 つの表として仮想化する場合は、すべてのファイルを含むバケットを仮想化できます。 例えば、ファイル・パス A/B/C/T1aA/B/C/T1bA/B/D/T1c、および A/B/D/T1dがある場合、ファイル・パス A/B/を仮想化できます。 そのパスとネストされたパス内のすべてのファイルは、アクセス可能なオブジェクトの一部になります。
  • 区切り ID と大/小文字混合を使用する場合でも、同じ名前で 2 つのオブジェクト (表、スキーマ、または列) を作成しないでください。 例えば、表 t1 と、 T1という名前の別の表を持つことはできません。 これらの名前は、Object Storage (Hive) 内で重複する名前と見なされます。 詳しくは、 識別子を参照してください。
  • Db2 は、 Hive がサポートするよりも広い範囲の有効な区切り ID をサポートします。 オブジェクト・ストアを介して仮想表を作成するときに指定される一部の ID 名は、 Hive カタログに受け入れられる前に調整されることがあります。 マッピングは自動的に行われます。 詳しくは、 IDを参照してください。
  • 仮想表のファイル・パスに新規データが追加される場合は、以下のコマンドを実行して、新規データを表示するためにメタデータ・キャッシュが更新されるようにすることを検討してください。
    CALL SYSHADOOP.HCAT_CACHE_SYNC(<schema>, <object>)

    詳しくは、 HCAT_CACHE_SYNC ストアード・プロシージャーを参照してください。

  • 仮想表のファイル・パスに新規パーティションが追加されたら、 「仮想化データ」 ページのオーバーフロー・メニューで 「パーティションのリフレッシュ」 をクリックして、新規パーティションを識別します。

    SQL インターフェースで以下のコマンドを実行して、追加された新規パーティションを識別することもできます。

    MSCK REPAIR TABLE <table-name> 

    詳しくは、 MSCK REPAIR TABLEを参照してください。

クエリーのパフォーマンスの最適化
  • ネットワーク・トラフィックを最小化するには、ORC や Parquet などのコンパクト・ファイル・フォーマットを使用します。これにより、照会のパフォーマンスが向上します。
  • STRING または TEXT データ型は使用しないでください。 n を列データに適した値に設定して、VARCHAR (N) データ・タイプを使用します。 以下のコマンドを使用して、列に適切な長さを定義するように表を変更します。
     ALTER TABLE <schema>.<table> ALTER COLUMN <col> SET DATA TYPE VARCHAR(<size>)
  • Hive スタイルのパーティション化を使用してデータをパーティション化します。 パーティション化されたデータは、共通属性によってグループ化されます。 Watson Query では、パーティションを使用して、照会で処理する必要があるデータの量を減らすことができます。 データ・セット全体を照会することは、不可能であったり、場合によっては不要であったりします。 パフォーマンスを向上させるために、パーティション列を含む照会で述部を使用できます。

    例えば、年の列でパーティション化された school_records 表では、年ごとに値が別々のファイル・パスに分離されます。 WHERE 条件 ( YEAR=1993YEAR IN (1996,1995)YEAR BETWEEN 1992 AND 1996 など) は、該当するファイル・パスのデータのみをスキャンして照会を解決します。

    クラウド・オブジェクト・ストレージ内の区画の例。
  • パーティション化された列タイプを正確に定義します。 デフォルトでは、パーティション化された文字の列は STRING タイプであると想定されますが、これは推奨されません。 パーティション化された列を適切なデータ・タイプに再定義してください。
  • 照会対象のデータに関する統計を収集します。 Watson Query は、 ANALYZE コマンドを使用して、オブジェクト・ストレージを介して仮想表の統計を収集します。 統計は、Web クライアントで収集することも、SQL を使用して収集することもできます。 詳しくは、 Watson Queryでの統計の収集を参照してください。

制限

  • CSV、TSV、または JSON 形式のテキスト・ファイルの場合、 Watson Query では UTF-8 文字エンコードのみがサポートされます。 ORC や PARQUET などの Cloud Object Storageバイナリー・フォーマットは、文字タイプを透過的にエンコードするため、影響を受けません。
  • Watson Query は、オブジェクト・ストレージ上の仮想表で TIME データ・タイプをサポートしません。
  • クラウド・オブジェクト・ストレージ内の資産のプレビューには、表の最初の 200 列のみが表示されます。
  • Cloud Object Storageへの接続を削除する前に、オブジェクト・ストレージ接続内のすべての仮想表を削除する必要があります。 接続が削除され、その接続内の表を削除しようとすると、エラーが表示されます。 オブジェクト・ストレージ内の仮想表を削除するときの資格情報エラー・メッセージを参照してください。
  • バケットが接続プロパティーに指定されていない場合、接続はグローバルになります。 この場合は、バケット名をファイル・パスに含めます。 Watson Query インスタンスでは、最大 1 つのグローバル接続を指定できます。

CREATE TABLE (HADOOP) ステートメント制約事項 も参照してください。