『Oracle Big Data SQLユーザーズ・ガイド』では、Oracle Big Data SQL製品の使用方法と管理方法について説明します。
このガイドは、次に示すようにOracle Big Data SQLの管理者およびユーザーを対象としています。
アプリケーション開発者
データ・アナリスト
データ科学者
データベース管理者
システム管理者
このマニュアルでは、手順を正しく行うために、読者がデータベース・サーバーおよびこのソフトウェアをホストする特定のHadoopプラットフォームに関する十分な知識を備えていることを前提としています。
製品のインストール手順については、『Oracle Big Data SQLインストレーション・ガイド』を参照してください。
Oracle Big Data ApplianceおよびOracle Big Data Connectorsとのこの製品の併用に関する情報は、次の出版物をお薦めします。
『Oracle Big Data Applianceオーナーズ・ガイド』
『Oracle Big Data Applianceソフトウェア・ユーザーズ・ガイド』
『Oracle Big Data Connectorsユーザーズ・ガイド』
オラクル社のBig Dataソリューションの詳細は、Oracleヘルプ・センターを参照してください。
Oracle Big Data SQLをHortonworks HDPにインストールするユーザーは、補足情報を得るためにHortonworksのドキュメント・サイト(http://docs.hortonworks.com/index.html)を参照することをお薦めします
このマニュアルでは次の表記規則を使用します。
規則 | 意味 |
---|---|
太字 |
太字は、操作に関連するGraphical User Interface要素、または本文中で定義されている用語および用語集に記載されている用語を示します。 |
イタリック |
イタリックは、ユーザーが特定の値を指定するプレースホルダ変数を示します。 |
|
固定幅フォントは、段落内のコマンド、URL、サンプル内のコード、画面に表示されるテキスト、または入力するテキストを示します。 |
|
ナンバー記号( |
このリファレンスの構文は、次の記号と表記規則を使用するバッカスナウア記法(BNF)の単純なバリエーションで示されます。
記号または表記規則 | 説明 |
---|---|
[ ] |
大カッコは、オプション項目を囲みます。 |
{ } |
中カッコは、選択項目を囲み、そのうち1つのみが必須です。 |
| |
縦線は、大カッコまたは中カッコ内の代替項目を区切ります。 |
... |
省略記号は、先行する構文要素を反復できることを示します。 |
デリミタ |
大カッコ、中カッコおよび縦線以外のデリミタは、記載されているとおりに入力する必要があります。 |
太字 |
太字で示されている語は、キーワードです。それらは記載されているとおりに入力する必要があります。(キーワードは、一部のオペレーティング・システムでは大/小文字の区別があります。)太字ではない語は、名前または値に置換する必要があるプレースホルダです。 |
Oracle Big Data SQLリリース3.2には、パフォーマンス、セキュアなネットワーク接続、認証、ユーザー管理およびインストールと構成における大幅な機能強化が含まれています。
CLOB処理の大幅な機能強化
HadoopでのJSON CLOBデータのフィルタ処理と解析が大幅に強化されたことで、Oracle Big Data SQLは、該当するラージ・オブジェクトの処理の多くをHadoopクラスタにプッシュ・ダウンできます。JSONデータは、最大1 MBのCLOB列に対応するHadoop内のOracle Big Data SQLセルでフィルタ処理できるようになりました。このサイズは、入力ドキュメントの文字セットに応じて異なります。ストレージ・レイヤーの評価に適格なJSONフィルタ式には、単純化された構文のJSON_VALUEおよびJSON_QUERYが含まれます。さらに、Oracle Big Data SQLでは、Hadoopの選択リスト式評価からOracle Databaseに最大32 KBのCLOBデータを投影できます。列サイズがこれらの2つの値を超える場合にのみ、Oracle Databaseに処理が戻されます。
この機能はユーザーのニーズに適合するように無効化または再有効化できます。
リリース3.2では、この機能強化は現時点でCLOBデータを返すJSON式にのみ適用されます。将来のリリースでは、その他のCLOB型(substrやinstrなど)に加えてBLOBデータにも同じサポートが提供されます。
Kafkaトピックの問合せのサポート
リリース3.2では、HiveとOracle Big Data SQLにKafkaトピックの問合せを実行できる機能が提供されています。この問合せは、新しいHiveストレージ・ハンドラによって可能になります。このストレージ・ハンドラを使用すると、Kafkaに存在するデータが基になる外部Hive表を作成できます。Oracle Big Data SQLまたはHiveは、この外部表によってKafkaデータの問合せを実行できるようになります。Kafkaのキー、値、オフセット、トピック名およびパーティションIDはHive列にマップされます。トピック/パーティションのペアごとのオフセットは明示的に指定できます。その指定がない場合、オフセットは、パーティションごとにトピック内の最初のオフセットから始まりトピック内の最後のオフセットで終わります。
Parquetファイル処理の向上
Oracleは、Parquet形式のデータを処理するための独自のParquetリーダーを導入しました。この新しいリーダーにより、パフォーマンスとリソース使用率は既存のHive Parquetドライバーよりも大幅に向上します。主な特徴は次のとおりです。
よりインテリジェントな列処理の取得。このリーダーでは、「遅延マテリアライズ」を使用してフィルタを満たす行を含む列のみを処理します。これによりI/Oが向上します。
フィルタ述語処理時にディクショナリを利用することによるCPU使用率の向上。
合理化されたデータ変換。これも効果的なCPU使用率の向上に寄与します。
Big Data SQLインストールでは、OracleのParquetリーダーがデフォルトで有効になります。これを無効化して汎用のParquetリーダーに戻すオプションがあります。
マルチユーザー認証
以前のリリースのOracle Big Data SQLでは、HadoopおよびHiveのデータに対する問合せはoracle
ユーザーとして実行され、ユーザーを変更するオプションはありません。どのような場合もoracle
は基礎となるユーザーであることにかわりありませんが、Oracle Big Data SQL 3.2では、Hadoop Secure Impersonationを使用してoracle
アカウントが別の指定されたユーザーのかわりにタスクを実行できるようになりました。これにより、単一のoracle
ユーザーではなく、現在問合せを実行しているユーザーに基づいたHDFSデータ・アクセスが可能になります。
管理者は、問合せユーザーを特定するためのルールを設定します。現在接続しているユーザーを特定して、その接続しているユーザーを偽装されたユーザーにマッピングするルールを指定できます。ユーザーは数多くの方法でOracle Databaseに接続できるため、このユーザーはデータベース・ユーザーであることも、LDAPやKerberosなどがソースとなるユーザーであることもあります。そのユーザーにはファイルに対する認可ルールが適用され、HDFS監査では実際に問合せを実行しているユーザーが特定されます。
関連項目:
マルチユーザー認証の管理は、このガイドで説明しているDBMS_BDSQL PL/SQLパッケージによって実行されます。
Oracle DatabaseとOracle Big Data SQLセルの間の認証
この認証により、Oracle DatabaseとBig Data SQLセルの間で安全な通信が容易になります。データベース認証の拡張機能により、不正なサービスがクラスタ・ノード上で実行中のOracle Big Dataオフロード・サーバー・プロセスに接続しようとする偽装攻撃に対抗する保護が提供されます。
Kerberosチケット更新の自動化
Kerberos保護のネットワークでは、Oracle Big Data SQLで使用されるoracle
アカウントの自動的なKerberosチケット更新が設定されるようにインストールを構成できます。これは、HadoopクラスタとOracle Databaseの両側のインストールで実行されます。bds-config.json
構成ファイルで、プリンシパル名とkeytabファイルへのパスを指定する必要があります。構成ファイルには、次に示すテンプレートが用意されています。
"kerberos" : { "principal" : "oracle/mycluster@MY.DOMAIN.COM", "keytab" : "/home/oracle/security/oracle.keytab" }
構成ファイルでKerberosパラメータを指定すると、Oracle Big Data SQLのインストールにより、HadoopクラスタとOracle Databaseサーバーの両方にcronジョブが設定されます。これらのジョブは、プリンシパルのKerboerosチケットを1日に1回更新します。
プリンシパルとkeytabファイルはすでに存在している必要があります。
自動アップグレード
現行のリリースは、Hadoop側またはOracle Database側で古いソフトウェアを削除することなく、以前のリリースの上にインストールできるようになりました。以前のインストールは、現行のリリース・レベルにアップグレードされます。
すべてのプラットフォームに対応する共通インストール・バンドル
以前のリリースでは、Oracle Big Data SQLインストール・バンドルを解凍して、目的のHadoopシステム(CDHまたはHDP)に対応する適切なパッケージを選択する必要がありました。現在、バンドルにはサポート対象のすべてのHadoopシステムで動作する1つのインストール・パッケージが格納されています。
新しいJaguarインストーラによるインストールの単純化と高速化
Jaguarインストーラによって、以前のリリースのインストーラsetup-bds.sh
が置き換えられています。Jaguarには、次の変更が含まれています。
Hadoopノードのインストール前提条件の自動確認
Jaguarは、各Hadoop DataNodeのインストール準備状況を確認して、不足している前提条件について報告します。
データベース側インストール・バンドルの手動による生成が不要
以前はユーザーが手動で作成していたデータベース側インストール・バンドルは自動的に生成されるようになりました。Oracle Databaseノードへのバンドルのコピーとインストールは依然として必要です。
Hadoop側での全体的なインストール時間の短縮
インストール時間は様々ですが、Hadoop側ではすべてのリソースがローカルの場合はインストールに約8分かかります。インターネットからHadoopクライアントをダウンロードする必要がある場合、ダウンロード速度によってはインストールに20分かかることもあります。
パッケージまたはパーセルとしてインストールできるようになったCDHの前提条件のApacheサービス
以前のCDHシステムでは、Oracle Big Data SQLのインストールに、HDFS、YARNおよびHIVEコンポーネントをパーセルとしてインストールする必要がありました。これらのコンポーネントは、パッケージまたはパーセルのどちらかとしてCDHにインストールできるようになりました。スタックとしてインストールする必要のあるHDPの変更はありません。
注意:
CDHシステムでは、Oracle Big Data SQLに必要なHadoopサービスをパッケージとしてインストールする場合は、それらのサービスをCloudera Manager内からインストールするようにしてください。そのようにしていないと、Cloudera Managerで該当するサービスを管理できなくなります。パーセルでは、これが問題になることはありません。CLIでは./setup-bdsがJaguarユーティリティに置き換えられています
# ./jaguar install bds-config.json # ./jaguar reconfigure bds-config.json # ./jaguar uninstall bds-config.json
デフォルトの構成ファイル名はbds-config.jsonですが、別のファイル名も受け入れられます
bds-config.json
引数を削除して、次の最初の例に示すように、インストーラがbds-config.json
をデフォルトに設定できるようになりました。任意の名前の代替構成ファイルを指定することもできます。ただし、bds-config.json
と同じ内部形式に従っていることと、.json
ファイル・タイプを指定することが必要になります。# ./jaguar install # ./jaguar install cluster2-config.json構成ファイルは、クラスタごとの要件にあわせた設定で作成できます。たとえば、テスト・クラスタと本番クラスタのOracle Big Data SQLインストールに異なるセキュリティ・パラメータを適用できます。
大幅に変更された構成パラメータ
以前のリリースのユーザーは、Jaguar構成ファイルに多数の新しいパラメータが含まれていることがわかります。それらの大半は、一律に必要なものでないという意味で「オプション」といえますが、その一部は特定のインストールで必須になることがあります。インストーラのパラメータに関する表と、すべての利用可能なパラメータを使用する構成ファイルの例は、後述する関連リンクの項を参照してください。
メンテナンスを簡単にする新しいupdatenodesコマンド
Oracle Big Data SQLは、DataNodeロールでプロビジョニングされた各Hadoopクラスタ・ノードにインストールする必要があります。これは、DataNodeが存在しないノードでは機能しません。新しいJaguarユーティリティには、クラスタ内のDataNodeのインスタンスについてクラスタをスキャンするupdatenodes
コマンドが含まれています。DataNodeロールが削除または再配置された場合や、DataNodeでプロビジョニングされたノードが追加または削除されている場合は、スクリプトによって必要に応じてOracle Big Data SQLコンポーネントがノードにインストールまたはノードからアンインストールされます。
一部のセキュリティ機能の有効化には追加の手順が必要になります
Oracle DatabaseとHadoopクラスタ内のOracle Big Data SQLセルの間のデータベース認証やHadoop Secure Impersonationを有効にする場合は、追加の「Database Acknowledge」手順が必要になります。このプロセスでは、データベース・サーバー上のインストールによって、Hadoopクラスタ管理サーバーに処理のためにコピー・バックする必要がある構成情報のZIPファイルが生成されます。
データベース側では、クラスタへの接続がプライマリおよびセカンダリとして分類されなくなりました。
Oracle Databaseシステムは、複数のHadoopクラスタへのOracle Big Data SQL接続を保持できます。以前のリリースでは、最初の接続がプライマリと見なされていました(最後にアンインストールする必要がありました)。それ以外の接続は、セカンダリと見なされていました。現在のリリースでは、複数インストールの管理が簡単になり、データベース側の--uninstall-as-primary
パラメータと--uninstall-as-secondary
パラメータは廃止されました。ただし、デフォルト・クラスタが存在するようになりました。このガイドの重要な用語と概念の項では、デフォルト・クラスタの有意性について説明しています。
すべてのシステム以外の永続表領域を含めるように拡張されたHDFSのOracle表領域のサポート
以前のリリースでは、永続オンライン表領域のHDFSへの移動のみがサポートされていました。この機能は、オフライン永続表領域に加えて、オンライン、読取り専用をサポートするようになりました。
mtactl startコマンドの動作の重要な変更
Oracle Big Data SQL 3.1には、Oracle Grid Infrastructureが存在しないサーバーにOracle Big Data SQLをインストールするオプションが導入されています。このような環境では、mtactlユーティリティのstartサブコマンド(mtactl start
)を使用して、MTA (マルチスレッド・エージェント) extprocを開始できます。
現在のリリースでは、mtactl start
コマンドは元のリリース3.1の実装とは動作が異なる点に注意してください。
現行の動作: mtactl start
は、リポジトリに保存されている初期化パラメータ値を使用してMTA extprocを開始します。デフォルト値は、リポジトリが存在しない場合にのみ使用されます。
以前の動作(Oracle Big Data SQL 3.1): mtactl start
は常にデフォルトの初期化パラメータを使用します。リポジトリに初期化パラメータ値が保存されているかどうかは関係ありません。
関連項目:
リソース要件
Hadoopクラスタの各ノードに、8 コアのCPUと12 GBのRAMが推奨されるようになりました。
最適なパフォーマンスのために強くお薦めする、カーネル、スワップ、コア・メモリー、ソケット・バッファ・サイズに関連するいくつかのsysctl設定があります。これらは、インストレーション・ガイドの第2章で説明しているインストール要件に含まれています。