ビッグ・データ・コネクタの使用
Oracle Big Data ConnectorsとOracle Copy to Hadoop (ビッグ・データSQLの機能)を使用して、ビッグ・データ・サービス・クラスタからOracle Cloudデータベース・インスタンスにデータをロードし、Oracle Cloudデータベース・インスタンスからビッグ・データ・サービス・クラスタにコピーできます。次の表に示すように、データベースとしては、Oracle Autonomous Databaseまたは共同管理Oracle Databaseサービスを使用できます:
データベースのタイプ | データをコピーするためにサポートされる機能 |
---|---|
Oracle Autonomous Database | Oracle Shell for Hadoop Loaders (OHSH)で次を使用して、ビッグ・データ・サービス・クラスタとAutonomous Databaseインスタンスの間でデータをコピーできます。
|
共同管理Oracle Database | Oracle Shell for Hadoop Loadersで次を使用して、ビッグ・データ・サービス・クラスタと共同管理Oracle Databaseインスタンスの間でデータをコピーできます。
|
機能
ビッグ・データ・コネクタとその機能は、ビッグ・データ・サービス・クラスタに事前にインストールされています。Oracle Big Data SQLのCopy to Hadoop機能も、すでにクラスタにインストールされています。
次の機能は、クラスタの各ノードに事前にインストールされています:
-
Oracle Shell for Hadoop Loaders
Oracle Shell for Hadoop Loaders (OHSH)は、簡単に使用できるコマンドライン・インタフェースをOracle Loader for Hadoop、Oracle SQL Connector for HDFS、Copy to Hadoopに対して提供するヘルパー・シェルです。
-
Hadoopへのコピー
Copy to Hadoop (CP2HADOOP)は、OracleデータベースからHDFSにデータをコピーするための、Oracle Big Data SQLの機能です。
-
Oracle Loader for Hadoop
Oracle Loader for Hadoop(OLH)は、HadoopクラスタからOracleデータベースの表にデータをロードするための高パフォーマンス・ローダーです。
-
Oracle SQL Connector for Hadoop Distributed File System (HDFS)
Oracle SQL Connector for HDFS (OSCH)を使用すると、HDFSファイルまたはApache Hiveの表に格納されているデータにOracle外部表がアクセスできます。このコネクタは、共同管理Oracle Databaseサービスにデータをロードする場合にのみ使用します。
ノート
Oracle SQL Connector for HDFSは、共同管理Oracle Databaseサービスへの接続についてのみサポートされます。Oracle Autonomous Databaseへの接続についてはサポートされていません。 -
Oracle Instant Client for Linux
Oracle Instant Clientを使用すると、Oracle Databaseに接続するアプリケーションの開発およびデプロイメントが可能になります。
データベースに接続するためのTNS設定の設定
-
Autonomous Databaseコンソールからクライアント資格証明をダウンロードし、
/opt/oracle/bdc-test/dbwallet/client
ディレクトリに解凍します。 -
ファイルを解凍したディレクトリに移動します。
cd /opt/oracle/bdc-test/dbwallet/client
-
sqlnet.ora
を編集し、WALLET_LOCATION
パラメータをパス/opt/oracle/bdc-test/dbwallet/client
に変更します。例:
WALLET_LOCATION = (SOURCE = (METHOD = file) (METHOD_DATA = (DIRECTORY="/opt/oracle/bdc-test/dbwallet/client")))
-
このディレクトリに
connection.properties
というファイルを作成し、次のプロパティを含めます:javax.net.ssl.trustStore=/opt/oracle/bdc-test/dbwallet/client/cwallet.sso javax.net.ssl.trustStoreType=SSO javax.net.ssl.keyStore=/opt/oracle/bdc-test/dbwallet/client/cwallet.sso javax.net.ssl.keyStoreType=SSO
-
次のように、Autonomous Databaseウォレット構成を使用してデータベース接続を検証するテストを行います:
-
tns names
をtnsnames.ora
から取得します。例:myuseradw_high = ( -- configuration )
-
次のコマンドを実行し、プロンプトが表示されたら管理パスワードを入力します:
sqlplus admin@<tnsentry_name>
例:
export TNS_ADMIN=/opt/oracle/bdc-test/dbwallet/client/ sqlplus admin@myuseradw_high
-
-
共同管理Oracle Databaseサービスの
tnsnames.ora
ファイルをダウンロードし、/opt/oracle/bdc-test/dbwallet/client
ディレクトリにコピーします。 -
共同管理データベースでSSLが有効になっている場合は、
sqlnet.ora
およびcwallet.sso
ファイルを/opt/oracle/bdc-test/dbwallet/client
ディレクトリにコピーします。 -
sqlnet.ora
を編集し、WALLET_LOCATION
パラメータをパス/opt/oracle/bdc-test/dbwallet/client
に変更します。 -
このディレクトリに
connection.properties
というファイルを作成し、次のプロパティを含めます:javax.net.ssl.trustStore=/opt/oracle/bdc-test/dbwallet/client/cwallet.sso javax.net.ssl.trustStoreType=SSO javax.net.ssl.keyStore=/opt/oracle/bdc-test/dbwallet/client/cwallet.sso javax.net.ssl.keyStoreType=SSO
-
次のようにテストして、データベース接続を検証します:
-
tns names
をtnsnames.ora
から取得します。例:myuseradw_high = ( -- configuration )
-
次のコマンドを実行し、プロンプトが表示されたら管理パスワードを入力します:
sqlplus admin@<tnsentry_name>
例:
export TNS_ADMIN=/opt/oracle/bdc-test/dbwallet/client/ sqlplus admin@myuseradw_high
-
コネクタ例を実行するためのビッグ・データ・サービスの構成
Oracle Shell for Hadoop Loadersインストールに含まれる例を実行する前に、次の構成ステップを実行してください。oracle
オペレーティング・システム・ユーザーを使用します。
例は、クラスタのOracle Shell for Hadoop Loadersインストールに含まれています。ファイルexamples.zip
を/opt/oracle/bdc-test
ディレクトリに解凍します。
例:
cd /opt/oracle/bdc-test
unzip /opt/oracle/ohsh-version/examples.zip -d /opt/oracle/bdc-test
-
/opt/oracle/bdc-test/examples
ディレクトリに移動し、次のステップを実行します。詳細は、examples/README.txt
を参照してください。 -
環境ファイル
bdc_env.sh
は、OHSHの実行に必要な環境変数で事前構成されています。次のコマンドを実行して、クラスタ・ノードで環境を構成します。source /opt/oracle/bdc-test/bdc_env.sh
-
次の例に示すように、SQL*Plusに
sysdba
としてログオンし、Oracle Loader for Hadoopの例の実行に使用するデータベース・ユーザーを作成し、必要な権限を付与します:共同管理データベース・サービスの例:
--<ServiceName>
は、データベースに接続するためのTNS設定の設定で構成した共同管理データベース・サービスのTNSエントリ名を指します。sqlplus sys@<ServiceName> as sysdba sqlplus sys@PDB1 as sysdba create user ohsh_examples identified by <example-password> quota unlimited on users; alter user ohsh_examples default tablespace users; grant create session, alter session, create table, create view, create procedure, create type, create sequence to ohsh_examples;
Autonomous Databaseの例:
--<ServiceName>
は、データベースに接続するためのTNS設定の設定で構成したADB TNSエントリ名を指します。sqlplus admin@<ServiceName> sqlplus admin@myuseradw_high create user ohsh_examples identified by <example-password> quota unlimited on data; alter user ohsh_examples default tablespace data; grant create session, alter session, create table, create view, create procedure, create type, create sequence to ohsh_examples;
共同管理Oracle Databaseサービスのみを使用している場合は、次のステップに従います。
-
SSHを使用して共同管理データベース・サービス・ノードに接続し、
/opt/oracle/bdc-test/examples/sysdba_configure.sql
スクリプトをコピーします。 -
oracle
オペレーティング・システム・ユーザーとしてサインインします。 -
プラガブル・データベース(PDB)の
sysdba
ユーザーとして接続し、sysdba_configure.sql <USER_NAME>
を実行します。ここで、<USER_NAME>
は前のステップ2: OHSH_EXAMPLESユーザーの作成で作成したデータベース・ユーザーです。ユーザー名はすべて大文字である必要があります。例:
@sysdba_configure.sql OHSH_EXAMPLES
sysdba_configure.sql
によって、例の実行に必要な2つのデータベース・ディレクトリ・オブジェクトが作成されます:OLHP_DEFAULT_DIR
は/tmp/olhp_default
を指しますOLHP_STAGE_DIR
は/tmp/olhp_stage
を指します
-
例を実行する前に、前述のディレクトリがOSレベルに存在することを確認してください。どちらのディレクトリも、読取り権限と書込み権限を持つ
oracle
OSユーザーが所有している必要があります。これらのディレクトリが存在しない場合は、次のコマンドを使用して作成できます:sudo su oracle mkdir /tmp/olhp_default mkdir /tmp/olhp_stage
例を実行するには、次に示すように共同管理データベース・サービス・ノードを構成する必要があります。詳細は、『Oracle Big Data Connectorsユーザーズ・ガイド』のOracle DatabaseシステムでのHadoopクライアントのインストールおよび構成に関する項を参照してください。
- クラスタ・ノードでOracle SQL Connector for HDFSのzipファイルを生成し、データベース・ノードにコピーします。例:
cd /opt/oracle zip -r /tmp/orahdfs-<version>.zip orahdfs-<version>/*
- データベース・ノードでOracle SQL Connector for HDFSのzipファイルを解凍します。例:
mkdir -p /u01/misc_products/bdc unzip orahdfs-<version>.zip -d /u01/misc_products/bdc
/u01/misc_products/
ディレクトリのデータベース・ノードにHadoopクライアントをインストールします。-
PDBの
sysdba
ユーザーとして接続し、OSCH_BIN_PATH
とOSCH_DEF_DIR
の両方のデータベース・ディレクトリが存在し、有効なオペレーティング・システム・ディレクトリを示していることを確認します。例create or replace directory OSCH_BIN_PATH as '/u01/misc_products/bdc/orahdfs-<version>/bin'; grant read,execute on directory OSCH_BIN_PATH to OHSH_EXAMPLES;
ここで、
OHSH_EXAMPLES
は、前述のステップ2: OHSH_EXAMPLESユーザーの作成で作成したユーザーです。create or replace directory OSCH_DEF_DIR as '/u01/misc_products/bdc/xtab_dirs'; grant read,write on directory OSCH_DEF_DIR to OHSH_EXAMPLES;
ノート:
xtab_dirs
オペレーティング・システム・ディレクトリが存在しない場合は作成します。 -
OSCH
(Oracle SQL Connector for HDFS)インストール・ディレクトリに移動し、構成ファイルhdfs_stream
を編集します。例sudo su -l oracle cd /u01/misc_products/bdc/orahdfs-<version> vi bin/hdfs_stream
次の変数が正しく構成されていることを確認します。詳細は、
hdfs_stream
ファイルに含まれている手順を参照してください。#Include Hadoop client bin directory to the PATH variable export PATH=/u01/misc_products/hadoop-<version>/bin:/usr/bin:/bin export JAVA_HOME=/usr/java/jdk<version> #See explanation below export HADOOP_CONF_DIR=/u01/misc_products/hadoop-conf #Activate the Kerberos configuration for secure clusters export HADOOP_CLIENT_OPTS="-Djava.security.krb5.conf=/u01/misc_products/krb5.conf"
-
Hadoop構成ディレクトリ(
HADOOP_CONF_DIR
)を構成します。まだ構成されていない場合は、次のようにApache Ambariを使用してHadoopクライアント構成のアーカイブ・ファイルをダウンロードします:
- Apache Ambariにログインします。
https://<ambari-host>:7183/#/main/services/BIGDATASQL/summary
-
HDFSサービスをクリックし、「Download Client Configuration」アクションを選択します。
-
HADOOP_CONF_DIR
(/u01/misc_products/hadoop-conf
)ディレクトリにファイルを抽出します。HADOOP_CONF_DIR/core-site.xml
に構成されているホスト名とポートが、共同管理データベース・サービス・ノードからアクセスできることを確認します(次の手順を参照してください)。例<property> <name>fs.defaultFS</name> <value>hdfs://bdsmyhostmn0.bmbdcsxxx.bmbdcs.myvcn.com:8020</value> </property>
この例では、同時管理データベース・サービス・ノードからホスト
bdsmyhostmn0.bmbdcsxxx.bmbdcs.myvcn.com
およびポート8020
にアクセスできる必要があります。 - セキュアなクラスタの場合:
- Kerberos構成ファイルをクラスタ・ノードからデータベース・ノードにコピーします。例:
cp krb5.conf /u01/misc_products/
- Kerberos
keytab
ファイルをクラスタ・ノードからデータベース・ノードにコピーします。例:cp <kerberos-user-keytab> /u01/misc_products/
- Kerberos構成ファイルをクラスタ・ノードからデータベース・ノードにコピーします。例:
- Apache Ambariにログインします。
-
次のコマンドを実行して、HDFSアクセスが機能していることを確認します。
#Change to the Hadoop client bin directory cd /u01/misc_products/hadoop-<version>/bin #--config points to your HADOOP_CONF_DIR directory. ./hadoop --config /u01/misc_products/hadoop-conf fs -ls
このコマンドによって、HDFSの内容がリストされます。タイムアウトまたは「ホストへのルートなし」や「不明なホスト」エラーが発生した場合は、次のように、
/etc/hosts
ファイルを更新し、ビッグ・データ・サービス・コンソールのネットワーク構成を確認する必要があります:-
クラウド・コンソールにサインインし、「ビッグ・データ」、「クラスタ」、「<your_cluster>」、「クラスタの詳細」の順にクリックします。
-
「クラスタ・ノードのリスト」セクションで、すべてのクラスタ・ノードの完全修飾名およびすべてのIPアドレスを取得します。
-
次の例のように、共同管理データベース・サービス構成ファイル
/etc/hosts
を編集します:#BDS hostnames xxx.xxx.xxx.xxx bdsmynodemn0.bmbdcsad1.bmbdcs.oraclevcn.com bdsmynodemn0 xxx.xxx.xxx.xxx bdsmynodewn0.bmbdcsad1.bmbdcs.oraclevcn.com bdsmynodewn0 xxx.xxx.xxx.xxx bdsmynodewn2.bmbdcsad1.bmbdcs.oraclevcn.com bdsmynodewn2 xxx.xxx.xxx.xxx bdsmynodewn1.bmbdcsad1.bmbdcs.oraclevcn.com bdsmynodewn1 xxx.xxx.xxx.xxx bdsmynodeun0.bmbdcsad1.bmbdcs.oraclevcn.com bdsmynodeun0
-
ネットワーク・イングレス・ルールが正しく構成されていることを確認します。「ビッグ・データ」、「クラスタ」、「<your_cluster>」、「ネットワーク情報」、「<your_subnet>」、「<your_security_list>」の順にクリックします。
次のイングレス・ルールが構成されていることを確認します。
fs.defaultFS
プロパティで構成されたHDFSポート(前述のステップ3を参照)を使用するTCPネットワーク・トラフィックを許可するイングレス・ルールを構成します。-
プロパティ
dfs.datanode.address
のポート番号を使用するデータ・ノードのTCPネットワーク・トラフィックを許可するイングレス・ルールを構成します。ポート番号を確認するには、Apache Ambariで「Services」、「HDFS」、「Configs」の順にクリックします。
-
「プロパティ」フィルタ・ボックスで、
dfs.datanode.address
を検索します。例:Source IP Protocol Source Port Range Destination Port Range ----------------------------------------------------------------------- 111.111.0.0/16 TCP All 8020 111.111.0.0/24 TCP All 50010
イングレス・ルールが構成されていない場合は、「イングレス・ルールの追加」をクリックして新しいルールを作成します。
-
ビッグ・データ・サービス・ユーティリティ・ノードで、/opt/oracle/bdc-test/examples/setresources.ohsh
を編集し、次の構成を完了します。
-
ローカル・ディレクトリを構成します。
-
共同管理データベース・サービスの場合:
set defaultdirectory OLHP_DEFAULT_DIR set locationdirectory OLHP_STAGE_DIR
-
Autonomous Databaseサービスの場合は、前の行をコメントにします(つまり、
#
を付けます)。ローカル・ディレクトリは使用できません:#set defaultdirectory OLHP_DEFAULT_DIR #set locationdirectory OLHP_STAGE_DIR
-
-
OHSHリソースを構成します。
データベースに接続するためのTNS設定の設定の説明に従って構成したデータベース・サービス(共同管理データベース・サービスまたはAutonomous Database)に応じて、
connect_id
およびconnectiondir
パラメータを構成します。<TNS_ADMIN>
は、ウォレットがある場所のパスを指します。共同管理データベース・サービスの例:
# SQL*Plus resource create sqlplus resource sql0 connectid="PDB1" # JDBC resource create oracle jdbc resource jdbc0 connectid="PDB1"
Autonomous Databaseの例:
# SQL*Plus resource create sqlplus resource sql0 connectid="myuseradw_high" # JDBC resource create oracle jdbc resource jdbc0 connectiondir=<TNS_ADMIN> \ connectid="myuseradw_high"
-
Hadoop資格証明ストアを使用するようにOracle Shell for Hadoop Loadersリソースを構成します
前述の例では、データベース・ユーザー・パスワードの入力が求められ、その後、例が実行されます。Hadoop資格証明ストアを作成することで、データベース・パスワードを保護することができ、入力を毎回求められることを回避できます。
この機能を有効にするには、次のコマンドを実行します:
-
Hadoop資格証明ストアを作成します。
hadoop credential create pw_alias -provider \ "jceks://file/opt/oracle/bdc-test/examples/ohsh_hadoop_cred_store.jceks"
入力を求められたら、データベース・ユーザー・パスワードを入力します。このコマンドにより、別名
pw_alias
がOHSH examplesディレクトリ内のjceksファイルに格納されます。 -
資格証明ストアを使用してOHSHリソースを構成します。
Autonomous Database:
# SQL*Plus resource create sqlplus resource sql0 \ user=OHSH_EXAMPLES passwordalias="pw_alias" \ provider="jceks://file/opt/oracle/bdc-test/examples/ohsh_hadoop_cred_store.jceks" \ connectid="myuseradw_high" # JDBC resource create oracle jdbc resource jdbc0 \ user=OHSH_EXAMPLES passwordalias="pw_alias" \ provider="jceks://file/opt/oracle/bdc-test/examples/ohsh_hadoop_cred_store.jceks" \ connectiondir=<TNS_ADMIN> connectid="myuseradw_high"
共同管理データベース・サービス:
# SQL*Plus resource create sqlplus resource sql0 \ user=OHSH_EXAMPLES passwordalias="pw_alias" \ provider="jceks://file/opt/oracle/bdc-test/examples/ohsh_hadoop_cred_store.jceks" \ connectid="PDB1" # JDBC resource create oracle jdbc resource jdbc0 \ user=OHSH_EXAMPLES passwordalias="pw_alias" \ provider="jceks://file/opt/oracle/bdc-test/examples/ohsh_hadoop_cred_store.jceks" \ connectid="PDB1"
-
-
ohsh -helpコマンドを実行して、すべてが適切に構成されていることを確認します。次の例のように表示されるはずです。
$ cd /opt/oracle/bdc-test/ $ source bdc_env.sh $ cd examples/ $ ../../ohsh-<version>/bin/ohsh -h Oracle Shell for Hadoop Loaders Release 5.1.2 - Production (Build:20211008105544) Copyright (c) 2016, 2021, Oracle and/or its affiliates. All rights reserved. Oracle Loader for Hadoop (5.1.2), Oracle SQL Connector for HDFS (5.1.2), The Copy to Hadoop feature of Oracle Big Data SQL (5.1.2) enabled. usage: ohsh [-i <FILE>] [-f <FILE>] [-c] [-h] -i <FILE> initialization script -f <FILE> main script -c hadoop configuration -h help
-
setresources
スクリプトを実行します。ohsh>@setresources
-
次のコマンドを実行して、使用可能なリソースを確認します。
ohsh>show resources jdbc0 : Oracle JDBC Resource user=OHSH_EXAMPLES connectId=PDB1 sql0 : Oracle SQL*Plus Command Line Resource user=OHSH_EXAMPLES connectId=PDB1 sysdba=false hadoop0 : Hadoop Command Line Resource HADOOP_CONF_DIR = /etc/hadoop/conf hive0 : Hive Command Line Resource HIVE_CONF_DIR = /etc/hive/conf Connect to jdbc:hive2://<hiveserver2-host>:<port>/default;ssl=true; sslTrustStore=<trust-store-path>; trustStorePassword=<trust-store-password> hadoop resource id = hadoop0 bash0 : Bash Command Line Resource path = /bin/bash
- 例を実行する前に、OHSHに必要な環境を設定する必要があります。
bdc_env.sh
ファイルは、OHSHに必要な環境変数で事前構成されています。$ cd /opt/oracle/bdc-test/; source bdc_env.sh
- 例のスクリプトを簡単に実行できるように、examplesディレクトリからOHSHを起動します。
$ cd /opt/oracle/bdc-test/examples/ $ ../../ohsh-<version>/bin/ohsh
-
OHSHを実行して、HDFSの内容からロードされるOracle表を作成します。
ohsh>@create_oracle_tables
-
次のコマンドを実行して、Oracle表を表示します。
ohsh>%sql0 select table_name from tabs; TABLE_NAME -------------------------- OHSH_FIVDTI OHSH_FIVDTI_REVERSE OHSH_FIVDTI_PART OHSH_CP2HADOOP_FIVDTI
-
OHSHを実行して、Oracleにロードする内容として使用される区切り記号付きファイルをHDFSに移入します。
ohsh>@create_hdfs_data_files
-
この例を複数回実行する場合、hdfsディレクトリの重複エラーを回避するためになんらかのクリーンアップの実行が必要になります。
create_hdfs_data_files
を編集して、次の行を追加します:# Environment variable HADOOP_USER is set from OHSH #Add this command to remove the ohshdata %hadoop0 fs -rm -r -f /user/oracle/ohshdata
-
HDFSへのファイルの書き込みについて権限エラーが生成された場合は、次の行を追加します:
# Add this command before the %hadoop0 fs -put command. %hadoop0 fs -chmod 777 /user/${HADOOP_USER}/ohshdata/hive_fivdti %hadoop0 fs -put data/fivdti_part0.dat /user/${HADOOP_USER}/ohshdata/fivdti
-
コネクタ例の実行
これらの例を実行して、データをロードする様々な方法を確認します。
共同管理Oracle Databaseサービスでは、次の例を実行できます:
ohsh>@load_jdbc
ohsh>@load_directpath
ohsh>@load_exttab
Oracle Autonomous Databaseでは、次の例を実行できます
ohsh>@load_jdbc
ohsh>@load_directpath
次のエラーは、環境変数HADOOP_CLASSPATH
の設定方法に問題があることを示します:
Error: oracle.hadoop.smartloader.api.SmartLoaderException: OLH error occured: oracle.hadoop.loader.OraLoaderException: Class oracle.hadoop.loader.OraLoader was expected to come from /opt/oracle/oraloader-<version>/jlib/oraloader.jar, not /opt/oracle/orahdfs-<version>/jlib/oraloader.jar.
このチェックを無効にするには、構成プロパティoracle.hadoop.loader.enforceClasspath
をfalse
に設定します。OHSH_HOME/conf/smartloader-conf.xml
に次のプロパティを追加します:
<property> <name>oracle.hadoop.loader.enforceClasspath</name> <value>false</value> </property>
共同管理Oracle Databaseサービスでは、次の例を実行できます:
ohsh>@load_jdbcimapreverse.ohsh
ohsh>@load_exttabimapreverse.ohsh
Oracle Autonomous Databaseでは、次の例を実行できます:
ohsh>@load_jdbcimapreverse.ohsh
共同管理Oracle Databaseサービスでは、次の例を実行できます:
ohsh>@load_hivejdbc.ohsh --partitioned tables
ohsh>@load_directpath_hive2parts.ohsh
ohsh>@load_directpath_hiveallparts.ohsh
ohsh>@load_hiveexttab.ohsh
ohsh>@load_exttab_hive2parts.ohsh
ohsh>@load_exttab_hiveallparts.ohsh
Oracle Autonomous Databaseでは、次の例を実行できます:
ohsh>@load_hivejdbc.ohsh --partitioned tables
ohsh>@load_directpath_hive2parts.ohsh
ohsh>@load_directpath_hiveallparts.ohsh
Oracle Autonomous Databaseでは、次の例を実行できます:
ohsh>@create_hivetable_empdpserde.ohsh
ohsh>@createreplace_directcopy.ohsh
ohsh>@load_directcopy.ohsh
Oracle Autonomous Databaseでは、次の例を実行できます:
ohsh> @create_hivetable_empdpserde.ohsh
create_hivetable_empdpserde.ohsh
の例を複数回実行した場合、ファイルの重複エラーを回避するために、次のようになんらかのクリーンアップを実行する必要があります:
create_hivetable_empdpserde.ohsh
を編集し、次の行を追加します:
#Add this command before copying the emp.dmp file
%hadoop0 fs -rm -r -f /user/${HADOOP_USER}/ohshdata/hive_ohsh_emp_dpserde/emp.dmp
%hadoop0 fs -put data/emp.dmp /user/${HADOOP_USER}/ohshdata/hive_ohsh_emp_dpserde