1

Oracle データベースを Hadoop に置き換えることに興味があり、Hadoop エコシステムについて学んでいます。

このルートに行く場合、置換が必要な PL/SQL スクリプトが多数あります。

少し努力すれば、PL/SQL スクリプトを類似の Pig Latin スクリプトに変換/変換できると思います。Pig Latin だけでなく、Oozie を介した Hive と Pig の組み合わせ。

これは正しいです?

4

2 に答える 2

6

ほとんどの SQL ステートメントは同等の Pig ステートメントや Hive ステートメントに変換できますが、言語に渡される Hadoop ファイルシステムに固有の制限がいくつかあります。主な制限は、HDFS が 1 回だけ書き込み、何度も読み取りを行うシステムであることです。つまり、UPDATE SQL コマンドや DELETE SQL コマンドなどを含むステートメントは機能しません。これは主に、プログラミング言語がすでに存在するファイルの内容を変更できる必要があるという事実によるものであり、これは Hadoop の一度だけのパラダイムと矛盾します。

ただし、これらには回避策があります。これらのコマンドは、問題のファイルをコピーし、コピーへの書き込み、オリジナルの削除、コピーのオリジナルの場所への移動時に変更を加えることでシミュレートできます。pig も Hive もこの機能を持っていないため、これらの言語から少し分岐する必要があります。たとえば、pig スクリプトが実行されると、数行の bash でおそらくコピーの削除と移動を処理できます。最初に bash を使用して pig スクリプトを呼び出すことができるとすれば、これによりかなり単純なソリューションが可能になります。または、同様の機能を提供する HBase を調べることもできます。ただし、どちらのソリューションも Pig/Hive 以外のものを含むため、これらの言語の外に絶対に出られない場合、答えはノーです。

于 2013-10-24T19:22:52.827 に答える
3

PL/HQL - オープン ソース プロジェクトである Hadoop 上の手続き型 SQL を使用できます。これは、Hive およびその他の SQL-on-Hadoop 実装に PL/SQL のような手続き型言語を提供することを目的としています。

PL/HQL は、Apache Hive およびその他の SQL-on-Hadoop 実装用の手続き型 SQL 言語を実装するオープン ソース ツール (Apache License 2.0) です。

PL/HQL 言語は、Oracle PL/SQL、ANSI/ISO SQL/PSM (IBM DB2、MySQL、Teradata ie)、Teradata BTEQ、PostgreSQL PL/pgSQL (Netezza)、Transact-SQL (Microsoft SQL Serverこれにより、既存の SQL/DWH スキルと使い慣れたアプローチを活用して、Hadoop にデータ ウェアハウス ソリューションを実装できます。また、既存のビジネス ロジックの Hadoop への移行も容易になります。

于 2015-02-28T22:06:40.477 に答える