このトピックでは、Impala または Presto を使用して JindoFS (JindoFileSystem) のデータを照会する方法について説明します。

JindoFS の設定

たとえば、emr-jfs という名前の名前空間は、次の設定で作成されています。

  • jfs.namespaces = emr-jfs
  • jfs.namespaces.emr-jfs.uri = oss://oss-bucket/oss-dir
  • jfs.namespaces.emr-jfs.mode = block

JindoFS の使用

現時点では、E-MapReduce バージョン 3.22.0 以降の Impala および Presto サービスは、JindoFS に保存されている Hive テーブルからのみ Hive メタデータを読み取ることができます。

JindoFS にテーブルデータを格納するには、CREATE TABLE ステートメントの格納場所を指定するパラメーターに JindoFS のディレクトリを設定します。

たとえば、HDFS (Hadoop Distributed File System) にテーブルデータを格納するには、次の CREATE TABLE ステートメントを使用します。

Create external table lineitem (L_ORDERKEY INT, L_PARTKEY INT, L_SUPPKEY INT, L_LINENUMBER INT, L_QUANTITY DOUBLE, L_EXTENDEDPRICE DOUBLE, L_DISCOUNT DOUBLE, L_TAX DOUBLE, L_RETURNFLAG STRING, L_LINESTATUS STRING, L_SHIPDATE STRING, L_COMMITDATE STRING, L_RECEIPTDATE STRING, L_SHIPINSTRUCT STRING, L_SHIPMODE STRING, L_COMMENT STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE LOCATION 'hdfs:///tpch_impala/lineitem';

JindoFS にテーブルデータを保存するには、次の CREATE TABLE ステートメントを使用します。

Create external table lineitem (L_ORDERKEY INT, L_PARTKEY INT, L_SUPPKEY INT, L_LINENUMBER INT, L_QUANTITY DOUBLE, L_EXTENDEDPRICE DOUBLE, L_DISCOUNT DOUBLE, L_TAX DOUBLE, L_RETURNFLAG STRING, L_LINESTATUS STRING, L_SHIPDATE STRING, L_COMMITDATE STRING, L_RECEIPTDATE STRING, L_SHIPINSTRUCT STRING, L_SHIPMODE STRING, L_COMMENT STRING) ROW FORMAT DELIMITED FIELDS TERMINATED BY '|' STORED AS TEXTFILE LOCATION 'jfs://emr-jfs/tpch_impala/lineitem';