サンプルデータの照会
    • PDF

    サンプルデータの照会

    • PDF

    Article Summary

    Classic/VPC環境で利用できます。

    データボックスの作成時に検索、ショッピング関連のデータのサンプルが提供されます。データ供給の申込を行った後は外部ネットワークとの通信が遮断されるので、外部ネットワークとの通信が遮断される前にサンプルデータを活用して分析環境をあらかじめ設定できます。Cloud Hadoopでサンプルデータを照会する方法と、Ncloud TensorFlow Serverでサンプルデータを照会する方法を説明します。データについての詳細説明は、提供データの詳細説明をご参照ください。

    Cloud Hadoopでサンプルデータの照会

    1. サンプルデータの位置確認

    サンプルデータはHadoop HDFSの以下のパスにアップロードされます。
    /user/ncp/sample

    2. HDFSでファイルの確認

    Connect Serverでウェブブラウザを介してHUEにアクセスすると、HDFSにアップロードされたサンプルファイルを確認できます。

    • HUE:https://エッジノードIP:8081
      databox-sample-00

    3. Hive外部テーブル作成によるデータの照会

    HUEにアクセスした後、Hive Query Editorでサンプルデータファイルを用いてHive外部テーブルを作成できます。

    • 以下のスクリプトで、hdfs://nv0xxx-hadoopはHadoopクラスタの名前に変更し、スクリプトを実行してください。Hadoopクラスタの名前はデータボックスの [詳細] ボタンをクリックした後、[インフラ] タブで確認できます。
    • サンプルデータで提供するデータの種類及びスキーマと、データ供給時に提供される検索やショッピングデータの種類及びスキーマが同じであるため、データ供給の申込を行った後に以下のスクリプトでデータベースとデータのアップロードパスだけ変更して実際のデータに対するテーブルを作成できます。
    • テーブルの作成が完了した後、MSCK REPAIR TABLEコマンドを実行すると、テーブルがないというエラーが発生する場合があります。この場合、しばらくしてからMSCK REPAIR TABLEコマンドをもう一度実行してください。
    -- サンプルデータ用データベースの作成
    CREATE DATABASE sample;
    
    -- 1. 検索クリックテーブルの作成
    CREATE EXTERNAL TABLE sample.search_click (
         `age`  STRING
        , `loc1`  STRING
        , `loc2`  STRING
        , `keyword`  STRING
        , `area`  STRING
        , `count`  BIGINT
    ) PARTITIONED BY (
              `date`     varchar(10)
        , `device`  varchar(10)
        , `gender`  varchar(10)
    ) ROW FORMAT delimited fields TERMINATED BY ','
    STORED AS PARQUET LOCATION "hdfs://nv0xxx-hadoop/user/ncp/sample/search/click/";  -- サンプルデータがアップロードされた位置。Hadoopクラスタの名前に変更して使用
    
    -- 2. 検索キーワードクリック共起テーブルの作成
    CREATE EXTERNAL TABLE sample.search_click_cooccurrence (
         `age`  STRING
        , `loc1`  STRING
        , `loc2`  STRING
        , `keyword1`  STRING
        , `area1`  STRING
        , `keyword2`  STRING
        , `area2`  STRING
        , `count`  BIGINT
    ) PARTITIONED BY (
         `week`     varchar(10)
        , `device`  varchar(10)
        , `gender`  varchar(10)
    ) ROW FORMAT delimited fields TERMINATED BY ','
    STORED AS PARQUET LOCATION "hdfs://nv0xxx-hadoop/user/ncp/sample/search/click_cooccurrence/";
    
    -- 3. アクセス地別検索キーワードテーブルの作成
    CREATE EXTERNAL TABLE sample.search_click_location (
         `age`  STRING
        , `loc1`  STRING
        , `loc2`  STRING
        , `keyword`  STRING
        , `count`  BIGINT
    ) PARTITIONED BY (
         `date`     varchar(10)
        , `hour`    varchar(10)
        , `device`  varchar(10)
        , `gender`  varchar(10)
    ) ROW FORMAT delimited fields TERMINATED BY ','
    STORED AS PARQUET LOCATION "hdfs://nv0xxx-hadoop/user/ncp/sample/search/click_location/";
    
    -- 4. 商品クリックテーブルの作成
    CREATE EXTERNAL TABLE sample.shopping_click (
         `age`  STRING
        , `loc1`  STRING
        , `loc2`  STRING
        , `keyword`  STRING
        , `cat`  STRING
        , `count`  BIGINT
    ) PARTITIONED BY (
         `date`     varchar(10)
        , `device`  varchar(10)
        , `gender`  varchar(10)
    ) ROW FORMAT delimited fields TERMINATED BY ','
    STORED AS PARQUET LOCATION "hdfs://nv0xxx-hadoop/user/ncp/sample/shopping/click/";
    
    -- 5. 商品購入テーブルの作成
    CREATE EXTERNAL TABLE sample.shopping_purchase (
         `age`  STRING
        , `loc1`  STRING
        , `loc2`  STRING
        , `cat`  STRING
        , `count`  BIGINT
    ) PARTITIONED BY (
         `date`     varchar(10)
        , `device`  varchar(10)
        , `gender`  varchar(10)
    ) ROW FORMAT delimited fields TERMINATED BY ','
    STORED AS PARQUET LOCATION "hdfs://nv0xxx-hadoop/user/ncp/sample/shopping/purchase/";
    
    -- 6. 商品クリック共起テーブルの作成
    CREATE EXTERNAL TABLE sample.shopping_click_cooccurrence (
         `age`  STRING
        , `loc1`  STRING
        , `loc2`  STRING
        , `keyword1`  STRING
        , `cat1`  STRING
        , `keyword2`  STRING
        , `cat2`  STRING
        , `count`  BIGINT
    ) PARTITIONED BY (
         `week`     varchar(10)
        , `device`  varchar(10)
        , `gender`  varchar(10)
    ) ROW FORMAT delimited fields TERMINATED BY ','
    STORED AS PARQUET LOCATION "hdfs://nv0xxx-hadoop/user/ncp/sample/shopping/click_cooccurrence/";
    
    -- 7. 商品購入共起テーブルの作成
    CREATE EXTERNAL TABLE sample.shopping_purchase_cooccurrence (
         `age`  STRING
        , `loc1`  STRING
        , `loc2`  STRING
        , `keyword1`  STRING
        , `cat1`  STRING
        , `cat2`  STRING
        , `count`  BIGINT
    ) PARTITIONED BY (
         `week`     varchar(10)
        , `device`  varchar(10)
        , `gender`  varchar(10)
    ) ROW FORMAT delimited fields TERMINATED BY ','
    STORED AS PARQUET LOCATION "hdfs://nv0xxx-hadoop/user/ncp/sample/shopping/purchase_cooccurrence/";
    
    -- 8. Pro Option検索クリックテーブルの作成
    CREATE EXTERNAL TABLE sample.pro_search_click (
         `user`  STRING
        , `age`  STRING
        , `loc1`  STRING
        , `loc2`  STRING
        , `keyword`  STRING
        , `area`  STRING
        , `count`  BIGINT
    ) PARTITIONED BY (
         `date`   varchar(10)
        , `hour`  varchar(10)
        , `device`  varchar(10)
        , `gender`  varchar(10)
    ) ROW FORMAT delimited fields TERMINATED BY ','
    STORED AS PARQUET LOCATION "hdfs://nv0xxx-hadoop/user/ncp/sample/pro_search/click/";  
    
    -- 9. Pro Option商品クリックテーブルの作成
    CREATE EXTERNAL TABLE sample.pro_shopping_click (
         `user`  STRING
        , `age`  STRING
        , `loc1`  STRING
        , `loc2`  STRING
        , `keyword`  STRING
        , `cat`  STRING
        , `count`  BIGINT
    ) PARTITIONED BY (
         `date`   varchar(10)
        , `hour`  varchar(10)
        , `device`  varchar(10)
        , `gender`  varchar(10)
    ) ROW FORMAT delimited fields TERMINATED BY ','
    STORED AS PARQUET LOCATION "hdfs://nv0xxx-hadoop/user/ncp/sample/pro_shopping/click/";
    
    -- 10. Pro Option商品購入テーブルの作成
    CREATE EXTERNAL TABLE sample.pro_shopping_purchase (
         `user`  STRING
        , `age`  STRING
        , `loc1`  STRING
        , `loc2`  STRING
        , `cat`  STRING
        , `count`  BIGINT
    ) PARTITIONED BY (
         `date`   varchar(10)
        , `hour`  varchar(10)
        , `device`  varchar(10)
        , `gender`  varchar(10)
    ) ROW FORMAT delimited fields TERMINATED BY ','
    STORED AS PARQUET LOCATION "hdfs://nv0xxx-hadoop/user/ncp/sample/pro_shopping/purchase/";
    

    上記のスクリプトを実行してテーブルがすべて作成されたことを確認し、以下のようにMetastore情報を更新します。

    MSCK REPAIR TABLE sample.search_click;
    MSCK REPAIR TABLE sample.search_click_cooccurrence;
    MSCK REPAIR TABLE sample.search_click_location;
    MSCK REPAIR TABLE sample.shopping_click;
    MSCK REPAIR TABLE sample.shopping_purchase;
    MSCK REPAIR TABLE sample.shopping_click_cooccurrence;
    MSCK REPAIR TABLE sample.shopping_purchase_cooccurrence;
    MSCK REPAIR TABLE sample.pro_search_click;
    MSCK REPAIR TABLE sample.pro_shopping_click;
    MSCK REPAIR TABLE sample.pro_shopping_purchase;
    

    上記のスクリプトを実行した後は、以下のようにHUEでHiveテーブルのデータが照会されることが確認できます。

    SET hive.resultset.use.unique.column.names = false;
    
    SELECT * FROM sample.search_click LIMIT 10;
    
    SELECT *  FROM sample.search_click 
    WHERE `date` = '2021-01-01' and device = 'mobile' and gender = 'f' and `count` > 10 LIMIT 10;
    

    image.png

    4. Zeppelinでサンプルデータの照会

    ZeppelinにアクセスしてCloud HadoopにアップロードされたParquetファイルデータを照会できます。

    • Zeppelin:Ambariサービスリンクを利用またはhttps://エッジノードIP:9996

    以下のスクリプトで、hdfs://nv0xxx-hadoopはHadoopクラスタの名前に変更し、スクリプトを実行してください。Hadoopクラスタの名前はデータボックスの [詳細] ボタンをクリックした後、[インフラ] タブで確認できます。

    %spark2
    val df = spark.read.parquet("hdfs://nv0xxx-hadoop/user/ncp/sample/shopping/click")
    println(df.count())
    df.show()
    

    databox-sample-021

    前の段階で作成したHiveテーブルのデータを確認できます。

    %jdbc(hive)
    SET hive.resultset.use.unique.column.names = false;
    SELECT * FROM sample.search_click LIMIT 10;
    

    clouddatabox-sample_02

    Ncloud TensorFlow Serverでサンプルデータの照会

    Ncloud TensorFlow Serverでサンプルデータを照会する方法は、以下のとおりです。

    1. Ncloud TensorFlow Serverの以下のパスでサンプルデータを確認します。

      • /home/ncp/workspace/sample
      • サンプルデータは読み取り専用で提供されます。
    2. Jupyterにアクセスして必要なモジュールをインストールします。

      !pip install -U pyarrow
      
    3. 以下のように提供されたサンプルファイルデータを確認します。

      import pandas as pd
      import pyarrow.parquet as pq
      from collections import OrderedDict
      source = "/home/ncp/workspace/sample/search/click/date=2021-01-01/device=pc/gender=m"
      d = pq.read_table(source=source).to_pydict() 
      df1 = pd.DataFrame( OrderedDict( d ) )
      

      databox-sample-03


    この記事は役に立ちましたか?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.