目次


IBM POWER8 上で稼働する Hortonworks Data Platform (HDP) を使用した SAS ソフトウェア

BASE SAS および SAS/ACCESS Interface to Hadoop を使用して、HDP 上に保管されているビッグデータにアクセスし、データを分析する

Comments

SAS/ACCESS Interface to Hadoop

SAS/ACCESS Interface to Hadoop は、Hadoop 内に保管されているデータに SAS がネイティブにアクセスすることを可能にするインターフェース製品です。SAS/ACCESS to Hadoop には以下の機能が備わっています。

  • LIBNAME ステートメントを使用して、SAS データ・セットのような Hive テーブルを作成し、これらの Hive テーブルに対して SAS プロシージャーと SAS DATA ステップを実行できるようにします。
  • PROC SQL コマンドを使用して、Hortonworks Data Platform (HDP) クラスターに対して直接 Hive SQL コマンドを実行できます。
  • PROC HADOOP を使用して、SAS 実行環境から直接 HDP クラスターに MapReduce、Apache Pig、および HDFS のコマンドを送信できます。

目的

IBM POWER8 プロセッサー・ベースのサーバー上で稼働する HDP クラスターを使用して BASE SAS および SAS/ACCESS Interface to Hadoop を検証、テストする主な目的は以下のとおりです。

  • IBM Power Systems 上の Red Hat Enterprise Linux (RHEL) 上で稼働する HDP と連動するように SAS/ACCESS Interface to Hadoop を構成する
  • BASE SAS が SAS/ACCESS Interface to Hadoop を介して HDP に接続できることを検証する
  • BASE SAS が上記のさまざまなインターフェースを使用して、HDP 内に保管されているデータにアクセスして分析できることを実証する
  • IBM AIX on Power 上で稼働する従来型の SAS アプリケーションが、IBM Power サーバー上で稼働する HDP の分散処理アーキテクチャーとスケーラビリティーを利用できることを実証する

テスト環境

テスト環境のコンポーネントの概要は以下のとおりです。

BASE SAS および SAS/ACCESS Interface to Hadoop

  • BASE SAS 9.4 (TS1M4)
  • SAS/ACCESS for Hadoop 9.4 (TS1M4)
  • AIX 7.2 (7200-00-01-1543)
  • 最小リソース: 2 台の仮想プロセッサー、4 GB のメモリー、35 GB のディスク・スペース
  • IBM PowerVM
  • IBM POWER8 プロセッサー・ベースのサーバー

Hortonworks Data Platform

  • Hortonworks DataPlatform(HDP) バージョン 2.5 (GA リリース以前)
  • RHEL 7.2
  • 最小リソース: 16 台の仮想プロセッサー、48 GB のメモリー、50 GB のディスク・スペース
  • IBM PowerKVM
  • IBM POWER8 プロセッサー・ベースのサーバー

デプロイメントのアーキテクチャー

図 1 に、Power 上で稼働する HDP を使用して SAS ソフトウェアを検証するために使用するデプロイメントとアーキテクチャー概要を示します。BASE SAS と SAS/ACCESS Interface to Hadoop からなる SAS ソフトウェアは、IBM POWER8 プロセッサー・ベースのサーバー上で IBM AIX 7.2 OS を稼働する仮想マシン (Power Systems の用語では、論理区画 (LPAR)) にインストールして構成されています。2 台目の IBM POWER8 プロセッサー・ベースのサーバー上の RHEL 7.2 上で稼働する仮想マシンには、シングル・ノードの HDP クラスターがインストールして構成されています。

SAS/ACCESS Interface to Hadoop は、HDP と連動してデータにアクセスするように構成されています。BASE SAS および SAS/ACCESS Interface to Hadoop のインストールと構成は、HDP クラスター内の数々のノードには透過的であることに注意してください。

図 1. BASE SAS および SAS/ACCESS Interface to Hadoop と IBM Power サーバー上で稼働する HDP のアーキテクチャー
BASE SAS および SAS/ACCESS Interface to Hadoop と IBM Power サーバー上で稼働する HDP のアーキテクチャー
BASE SAS および SAS/ACCESS Interface to Hadoop と IBM Power サーバー上で稼働する HDP のアーキテクチャー

インストールおよび構成

このセクションでは、HDP クラスターと (BASE SAS と SAS/ACESS Interface to Hadoop からなる SAS ソフトウェアのインストールおよび構成について説明します。

HDP クラスターをインストールする

HDP クラスターをインストールする手順は、大まかに以下のステップからなります。

  1. Power Systems への HDP インストール手順 (「参考文献」を参照) に従って、HDP クラスターをインストールして構成します。
  2. Ambari サーバーにログインし、すべてのサービスが実行中であることを確認します。
  3. HDP クラスター、Hadoop、および関連するサービスを Ambari からモニターして管理します。

テスト・データと Hive テーブルをセットアップする

MovieLens とドライバーのテスト・データをダウンロードし、データを HDFS にコピーして Hive テーブルを作成します。

  1. ここから MovieLens のデータ・セットをダウンロードします (「参考文献」の引用を参照)。
  2. ここに記載されている手順に従って、MovieLens のデータ・セットを HDFS にコピーし、Hive 外部テーブルをセットアップします。どちらに対しても同じ hive ユーザー ID を使用してください。
  3. ここからドライバー・データ・ファイルをダウンロードします。
  4. ドライバー・データを HDFS にコピーします。
    # su – hive
    # hadoop fs -mkdir -p /user/hive/dataset/drivers
    # hadoop fs -copyFromLocal /home/np/u0014213/Data/truck_event_text_partition.csv /user/hive/dataset/drivers
    # hadoop fs -copyFromLocal /home/np/u0014213/Data/drivers.csv /user/hive/dataset/drivers
    # hadoop fs -ls /user/hive/dataset/drivers
    Found 2 items
    -rw-r--r--   3 hive hdfs       2043 2017-05-21 06:30 /user/hive/dataset/drivers/drivers.csv
    -rw-r--r--   3 hive hdfs    2272077 2017-05-21 06:30 /user/hive/dataset/drivers/truck_event_text_partition.csv
  5. ドライバー・データの Hive テーブルを作成します。
    # su – hive
    # hive
    hive>create database trucks;
    hive> use trucks;
    
    hive> create table drivers
    (driverId int,
    name string,
    ssn bigint,
    location string,
    certified string,
    wageplan string)
    ROW FORMAT DELIMITED
    FIELDS TERMINATED BY ','
    STORED AS TEXTFILE
    TBLPROPERTIES("skip.header.line.count"="1");
    
    hive> create table truck_events
    (driverId int,
    truckId int,
    eventTime string,
    eventType string,
    longitude double,
    latitude double,
    eventKey string,
    correlationId bigint,
    driverName string,
    routeId int,
    routeName string)
    ROW FORMAT DELIMITED FIELDS TERMINATED BY ','
    STORED AS TEXTFILE
    TBLPROPERTIES("skip.header.line.count"="1");
    
    hive> show tables;
    OK
    drivers
    truck_events
  6. HDFS 内のファイルからテーブルにデータをロードします。
    hive> LOAD DATA INPATH '/user/hive/dataset/drivers/truck_event_text_partition.csv' overwrite into table truck_events;
    hive> LOAD DATA INPATH '/user/hive/dataset/drivers/drivers.csv' overwrite into table drivers;
  7. テーブルを照合してデータが存在することを確認するために、テーブルに対してクエリーを実行します。

BASE SAS および SAS/ACCESS Interface to Hadoop をインストールする

以下の手順に従って、BASE SAS および SAS/ACCESS Interface to Hadoop を AIX 7.2 上にインストールします。

  1. SAS からソフトウェアと依存関係を入手します。ソフトウェアの注文書に、ライセンス・ファイルと併せてソフトウェアのダウンロード方法に関する詳細が記載されています。
  2. AIX LPAR 上に VNC (Virtual Network Computing) サーバーをインストールして構成し、VNC セッションに接続します。
  3. AIX 対応の SAS Download Manager をダウンロードします。
  4. SAS Download Manager を起動し、SAS から提供された注文番号とインストール・キーを指定します。SAS Download Manager によって、この注文番号のタグが付けられたすべてのソフトウェアがダウンロードされます。
  5. 以下のようにしてソフトウェアをインストールします。
    1. SAS Deployment Wizard を起動するために、ソフトウェア・ダウンロード・ディレクトリー内にある setup.sh を実行します。
    2. 「SASHome」を選択します。これが、SAS ソフトウェアのインストール先になります。
    3. 必要に応じて項目を選択し、インストールを完了します。
    4. SAS コードを実行するための $SASHOME/SASFoundation/9.4/sas 実行可能ファイルがインストールされていることを確認します。
図 2. SAS Deployment Wizard を使用した BASE SAS および SAS/ACCESS Interface to Hadoop のインストール
図 3. ソフトウェアのインストールが完了した後の SASHome

BASE SAS および SAS/ACCESS Interface to Hadoop を構成する

BASE SAS と SAS/ACCESS Interface to Hadoop のインストールが完了したら、「SAS 9.4 Hadoop Configuration Guide for Base SAS and SAS/ACCESS」ガイドで説明している手順に従って、HDP クラスターに接続するように SAS/ACCESS Interface to Hadoop を構成します。

  • このガイドの第 1 章の説明を参照して Hadoop 環境を確認します。
  • 第 4 章「Configuring SAS/ACCESS for Hadoop」で説明している詳細な構成手順に従います。
  • Hadoop サーバーと SAS/ACCESS を組み合わせて使用するには、SAS クライアント・システムから一連の Hadoop JAR ファイルと構成ファイルを利用できる必要があります。詳細については、「Making Hadoop JAR and Configuration Files Available to the SAS Client Machine」のセクションを参照してください。
    • 以下のコマンドを実行して、SAS Deployment Wizard を起動します。$SASHOME/SASDeploymentManager/9.4/sasdm.sh
    • ウィザード内で、クラスター・マネージャーとして「AMBARI」を選択し、AMBARI サーバーとアクセスの詳細を指定します。
    • Hadoop クラスターの詳細と併せて、クラスター・ノードにアクセスするためのセキュア・シェル (SSH) 秘密鍵という形でアクセス情報を指定します。
    • SAS クライアント・システム上の Hadoop 構成ファイルの場所 (例えば、/hadoop/conf) と Hadoop JAR ファイルの場所 (例えば、/hadoop/lib) を指定します。
    • Hadoop 構成ファイルのパス名と JAR ファイルのパス名が設定された SAS 構成ファイル sasv9.cfg を更新するために、「Add environment variables (環境変数を追加)」項目を選択します。SAS_HADOOP_JAR_PATH および SAS_HADOOP_CONFIG_PATH 環境変数を追加して sasv9.cfg ファイルを更新します。
    • Hive ユーザー名とパスワードと併せて Hive サービスの詳細を指定します。
    • ウィザードに従って構成を完了します。
図 4. SAS Deployment Manager を使用した SAS/ACCESS Interface to Hadoop の構成
図 5. 構成完了後の Hadoop 構成ファイルと JAR ファイルのパスを示すスニペット
図 6. Hadoop 構成ファイルと JAR ファイルのパスが更新された SAS 構成ファイルのスニペット

HDP 上に保管されているデータに BASE SAS を使用してアクセスして分析する

上記で説明したインストールと構成の手順が完了すると、BASE SAS を使用して HDP 上に保管されているデータにアクセスし、データを分析できるようになります。この記事の目的は HDP を使用して SAS/ACCESS Interface to Hadoop を検証することなので、それを目的に、重要なインターフェースのいくつかを使ってデータにアクセスし、基本的な分析を実行するテストを行いました。以降のセクションで説明する例の他にも、インターフェースを調べてください。

HDFS 上のデータにアクセスする

BASE SAS から HDFS 内に保管されているデータにアクセスするには、SAS PROC HADOOP および HDFS ステートメントを使用します。以下のサンプル SAS コードが、どのようにして Hadoop に接続し、データを HDFS に書き込み、HDFS 上に保管されているデータにアクセスするのかを示しています。SAS コードを実行するには、SAS クライアント上の SAS コマンドライン・インターフェース (CLI) を使用できます。

# cat proc-hadoop-test.sas

proc hadoop username='hdfs' password='xxxxxxxx' verbose;    

hdfs mkdir='/user/hdfs/sasdata';    

hdfs delete='/user/hdfs/test1';    

hdfs copytolocal='/user/hdfs/test/fromHDP.txt' 
    out='/home/np/SASCode/fromHDP.txt';

hdfs copyfromlocal='/home/np/SASCode/fromSAS.txt'          
    out='/user/hdfs/sasdata/fromSAS.txt';
run;

# /SASHome/SASFoundation/9.4/sas proc-hadoop-test.sas

コードを実行した後、ログ・ファイルを調べて実行ステータスを確認します。

# cat proc-hadoop-test.log
1 The SAS System 00:26
Saturday, April 22, 2017
NOTE: Copyright (c) 2002-2012 by SAS Institute Inc., Cary, NC, USA.
NOTE: SAS (r) Proprietary Software 9.4 (TS1M4)
Licensed to IBM CORP - FOR DEMO PURPOSES ONLY, Site 70219019.
NOTE: This session is executing on the AIX 7.2 (AIX 64) platform.
NOTE: Additional host information:
IBM AIX AIX 64 2 7 00F9C48F4C00
You are running SAS 9. Some SAS 8 files will be automatically converted by the V9 engine; others are incompatible. Please see
http://support.sas.com/rnd/migration/planning/platform/64bit.html
PROC MIGRATE will preserve current SAS file attributes and is
recommended for converting all your SAS libraries from any
SAS 8 release to SAS 9. For details and examples, please see
http://support.sas.com/rnd/migration/index.html
This message is contained in the SAS news file, and is presented upon initialization. Edit the file "news" in the "misc/base" directory to display site-specific news and information in the program log.
The command line option "-nonews" will prevent this display.

NOTE: SAS initialization used:
real time 0.03 seconds
cpu time 0.00 seconds
1 proc hadoop username='hdfs' password=XXXXXXXXXX verbose;
2 hdfs mkdir='/user/hdfs/sasdata';
3
4 hdfs delete='/user/hdfs/test1';
5
6 hdfs copytolocal='/user/hdfs/test/fromHDP.txt'
7 out='/home/np/SASCode/fromHDP.txt';
8
9 hdfs copyfromlocal='/home/np/SASCode/fromSAS.txt'
10 out='/user/hdfs/sasdata/fromSAS.txt';
11 run;
NOTE: PROCEDURE HADOOP used (Total process time):
real time 4.49 seconds
cpu time 0.05 seconds
NOTE: SAS Institute Inc., SAS Campus Drive, Cary, NC USA 27513-2414
NOTE: The SAS System used:
real time 4.53 seconds
cpu time 0.05 seconds

ローカル・ディレクトリーと HDFSの内容を調べて、SAS コードが正常に実行されたことを確認します。

# hadoop fs -ls /user/hdfs/sasdata/
Found 1 items
-rw-r--r-- 3 hdfs hdfs 30 2017-04-22 01:28 /user/hdfs/sasdata/fromSAS.txt
[hdfs@hdpnode1 ~]$ hadoop fs -cat /user/hdfs/sasdata/fromSAS.txt
Hello HDP user! Good morning!

# ls -ltr
total 136
-rw-r--r-- 1 root system 333 Apr 22 00:25 proc-hadoop-test.sas
-rw-r--r-- 1 root system 23 Apr 22 00:26 fromHDP.txt
-rw-r--r-- 1 root system 2042 Apr 22 00:26 proc-hadoop-test.log
l48fvp038_pub[/home/np/SASCode] > cat fromHDP.txt
Hello SAS user! Howdy?

BASE SAS から HDP 上の MapReduce プログラムを実行する

BASE SAS から、HDP 上に保管されているデータに対して MapReduce プログラムを実行できます。BASE SAS から MapReduce プログラムを実行するには、PROC HADOOP SAS プロシージャーを使用します。例えば、SAS を使用して実際の分析を行う前に処理する必要がある膨大なデータ・セットがある場合、HDP クラスター上で前処理を行う MapReduce プログラムを作成するという方法でこの要件に対処できます。

以下のサンプル SAS コードは、テキスト・ファイルを HDFS にコピーした後、WordCount という名前の MapReduce プログラムを実行します。

$ cat word-count-mr-ex.sas
proc hadoop username='hdfs' password='xxxxxxx' verbose;

   #Copy text file from client machine to HDFS 
   hdfs copyfromlocal='/home/np/SASCode/wordcount-input.txt'
             out='/user/hdfs/sasdata/wordcount-input.txt';

   #Map reduce statement to execute wordcount
   mapreduce input='/user/hdfs/sasdata/wordcount-input.txt'
      output='/user/hdfs/sasdata/wcout'
      jar='/hadoop/lib/hadoop-mapreduce-examples-2.7.3.2.5.0.0-1245.jar'
      outputkey='org.apache.hadoop.io.Text'
      outputvalue='org.apache.hadoop.io.IntWritable'
      reduce='org.apache.hadoop.examples.WordCount$IntSumReducer'
      combine='org.apache.hadoop.examples.WordCount$IntSumReducer'
      map='org.apache.hadoop.examples.WordCount$TokenizerMapper';
run;

# /SASHome/SASFoundation/9.4/sas word-count-mr-ex.sas

サンプル・コードを実行した後、SAS ログ・ファイルを調べてコードが正常に実行されたことを確認してください。また、HDFS ディレクトリーの内容を調べ、入力ファイルの内容と WordCount MapReduce プログラムによる出力を照合する必要もあります。

# hadoop fs -ls /user/hdfs/sasdata/
drwxr-xr-x - hdfs hdfs 0 2017-04-22 01:47 /user/hdfs/sasdata/wcout
-rw-r--r-- 3 hdfs hdfs 268 2017-04-22 01:46 /user/hdfs/sasdata/wordcount-input.txt

# hadoop fs -cat /user/hdfs/sasdata/wordcount-input.txt
This PROC HADOOP example submits a MapReduce program to a Hadoop server. The example uses the Hadoop MapReduce
application WordCount that reads a text input file, breaks each line into words, counts the words, and then writes
the word counts to the output text file.

# hadoop fs -ls /user/hdfs/sasdata/wcout
Found 2 items
-rw-r--r-- 3 hdfs hdfs 0 2017-04-22 01:47 /user/hdfs/sasdata/wcout/_SUCCESS
-rw-r--r-- 3 hdfs hdfs 270 2017-04-22 01:47 /user/hdfs/sasdata/wcout/part-r-00000

# hadoop fs -cat /user/hdfs/sasdata/wcout/part-r-00000
HADOOP 1
Hadoop 2
MapReduce 2
PROC 1
The 1
This 1
WordCount 1
a 3
and 1
application 1
breaks 1
counts 2
each 1
example 2
file, 1
file. 1
input 1
into 1
line 1
output 1
program 1
reads 1
server. 1
submits 1
text 2
that 1
the 4
then 1
to 2
uses 1
word 1
words, 2
writes 1
図 7. HDP のジョブ履歴サーバーから取得した WordCount MapReduce ジョブの履歴

SAS データ・セットとしての Hive テーブルにアクセスする

SAS データ・セットとしての Hive テーブルにアクセスするには、LIBNAME ステートメントを使用し、JDBC を介して HDP クラスターに対して Hive クエリーを実行するには、PROC SQL プロシージャーを使用します。

具体的な方法については、以下のサンプル SAS コードを参照してください。このコードでは LIBNAME と PROC SQL を使って Hive テーブルにアクセスし、BASE SAS からクエリーおよび分析を実行します。

$ cat sas-hdp-hive-access.sas

#LIBNAME statement to connect to HIVEService2 on HDP Cluster
libname myhdp hadoop server='hdpnode1.dal-ebis.ihost.com' schema='default' user=hive;

# Listing of tables
proc datasets lib=myhdp details;
run;

# Get schema for all tables.
proc contents data=myhdp._all_;
run;

# Run queries and analysis using PROC SQL procedure
proc sql;
        select count(*) from MYHDP.TRUCK_EVENTS;
run;

# Run PROC FREQ statistical procedure against the HDFS data that #is not available as SAS dataset

proc freq data=MYHDP.TRUCK_EVENTS;
tables eventtype;
run;

SAS ログ・ファイルを調べてテーブルのリストを確認します。以下に記載するログ・ファイルからの抜粋に、デフォルトの Hive スキーマによるテーブルが一覧表示されています。

3          proc datasets lib=myhdp details;
                                                             
Libref         MYHDP
Engine         HADOOP
Physical Name  jdbc:hive2://hdpnode1.dal-ebis.ihost.com:10000/default
Schema/Owner   default

#  Name          Type     or Indexes   Vars  Label
1  DRIVERS       DATA         .          6
2  EXPORT_TABLE  DATA         .          2
3  EXTENSION     DATA         .          3
4  HOSTS         DATA         .         16
5  HOSTS1        DATA         .         16
6  HOSTS2        DATA         .         16
7  HOSTS3        DATA         .         16
8  TEST2         DATA         .          2
9  TRUCK_EVENTS  DATA         .         11

リスティング・ファイル (.lst 拡張子が付いたファイル) を調べて、統計プロシージャーの出力を確認します。リスティング・ファイルの例として、テーブル truck_events に関するすべてのテーブルの名前と詳細が示されている部分を以下に抜粋します。

The SAS System           02:19 Saturday, April 22, 2017   1

		The CONTENTS Procedure

Libref         MYHDP
Engine         HADOOP
Physical Name  jdbc:hive2://hdpnode1.dal-ebis.ihost.com:10000/default
Schema/Owner   default

#  Name          Type
1  DRIVERS       DATA
2  EXPORT_TABLE  DATA
3  EXTENSION     DATA
4  HOSTS         DATA
5  HOSTS1        DATA
6  HOSTS2        DATA
7  HOSTS3        DATA
8  TEST2         DATA
9  TRUCK_EVENTS  DATA


          The CONTENTS Procedure	

Data Set Name        MYHDP.TRUCK_EVENTS Observations          .
Member Type          DATA               Variables             11
Engine               HADOOP             Indexes               0
Created              .                  Observation Length    0
Last Modified        .                  Deleted Observations  0
Protection                              Compressed            NO
Data Set Type                           Sorted                NO
Label
Data Representation  Default
Encoding             Default

Alphabetic List of Variables and Attributes
#    Variable         Type      Len    Format     Informat    Label
8    correlationid    Num         8    20.        20.         correlationid
1    driverid         Num         8    11.        11.         driverid
9    drivername       Char    32767    $32767.    $32767.     drivername
7    eventkey         Char    32767    $32767.    $32767.     eventkey
3    eventtime        Char    32767    $32767.    $32767.     eventtime
4    eventtype        Char    32767    $32767.    $32767.     eventtype
6    latitude         Num         8                           latitude
5    longitude        Num         8                           longitude
10   routeid          Num         8    11.        11.         routeid
11   routename        Char    32767    $32767.    $32767.     routename
2    truckid          Num         8    11.        11.         truckid

リスティング・ファイル内では、統計プロシージャー PROC FREQ の出力も truck_events テーブルの eventtype 列に記載されます。以下のリスティング・ファイルの抜粋を参照してください。

                    The FREQ Procedure

                          eventtype

                                              Cumulative   Cumulative
eventtype                Frequency  Percent   Frequency    Percent
--------------------------------------------------------------------------
Lane Departure              11      0.06          11        0.06
Normal                     17041   99.80       17052       99.87
Overspeed                   9       0.05       17061       99.92
Unsafe following distance   7       0.04       17068       99.96
Unsafe tail distance        7       0.04       17075      100.00

明示的なパススルーを使用して Hive テーブルにアクセスする

明示的なパススルー・モードで、PROC SQL プロシージャーを CONNECT TO HADOOP ステートメントおよび EXECUTE ステートメントと併せて使用して Hive クエリーを実行すると、JDBC がバイパスされて処理が高速化します。このインターフェースは、Hive/HDFS からの読み取りをストリーミングするのに役立ちます。

次のサンプル・コードは、このインターフェースの例を示します。

# cat sas-hdp-hive-access-explicit-passthru.sas
options dbidirectexec;
options nodbidirectexec;

proc sql;
   #Connect to Hadoop/HiveServer2 
   connect to hadoop (server=xxxxx.xxxxxxxx.com' user=hive subprotocol=hive2);

   #Execute HIVEQL query to create an external HIVE table
   execute ( CREATE EXTERNAL TABLE movie_ratings (
        userid INT,
        movieid INT,
        rating INT,
        tstamp STRING
        ) ROW FORMAT DELIMITED
        FIELDS TERMINATED BY '#'
        STORED AS TEXTFILE
        LOCATION '/user/hive/sasdata/movie_ratings') by hadoop;

   disconnect from hadoop;

proc hadoop username='hive' password='xxxxxx' verbose;

        #Copy data from client to the HDFS location for the movie_ratings table.
        hdfs copyfromlocal='/home/np/SASCode/ratings.txt'
             out='/user/hive/sasdata/movie_ratings';

quit;

HDP クラスター上の Hive にログインし、movie_ratings テーブルが作成されてデータが取り込まれていることを確認します。

# su - hive
# hive

hive> show tables;
OK
movie_ratings

hive> desc movie_ratings;
OK
userid int
movieid int
rating int
tstamp string
Time taken: 0.465 seconds, Fetched: 4 row(s)

hive> select count(*) from movie_ratings;
Query ID = hive_20170422042813_e9e49803-144a-48e9-b0f6-f5cd8595d254
Total jobs = 1
Launching Job 1 out of 1
Status: Running (Executing on YARN cluster with App id application_1492505822201_0034)
Map 1: -/- Reducer 2: 0/1
Map 1: 0/2 Reducer 2: 0/1
Map 1: 0/2 Reducer 2: 0/1
Map 1: 0(+1)/2 Reducer 2: 0/1
Map 1: 0(+2)/2 Reducer 2: 0/1
Map 1: 0(+2)/2 Reducer 2: 0/1
Map 1: 2/2 Reducer 2: 0(+1)/1
Map 1: 2/2 Reducer 2: 1/1
OK
1000209
Time taken: 14.931 seconds, Fetched: 1 row(s)

参考資料


ダウンロード可能なリソース


コメント

コメントを登録するにはサインインあるいは登録してください。

static.content.url=http://www.ibm.com/developerworks/js/artrating/
SITE_ID=60
Zone=Linux
ArticleID=1052013
ArticleTitle=IBM POWER8 上で稼働する Hortonworks Data Platform (HDP) を使用した SAS ソフトウェア
publish-date=11162017