VPC環境で利用できます。
データボックスの作成時に検索、ショッピング関連データサンプルが提供されます。データ供給の申し込み後は外部ネットワークとの通信がブロックされるため、外部ネットワークとの通信がブロックされる前にサンプルデータを活用して分析環境をプリセットできます。Cloud Hadoopでサンプルデータを照会する方法と Ncloud TensorFlow Serverでサンプルデータを照会する方法について説明します。データの詳細な説明は、提供データの詳細説明をご参照ください。
Cloud Hadoopでサンプルデータを照会
Big Data & Analyticsの NIMOROサービスで Cloud Data Boxのデータを照会する場合、NAVERデータを Hadoop HDFSのパスにアップロードする必要があります。
1. サンプルデータ位置を確認
サンプルデータは Hadoop HDFSの以下のパスにアップロードされます。
/user/ncp/sample
2. HDFSでファイルを確認
Connectサーバからウェブブラウザで Hueにアクセスし、HDFSにアップロードされたサンプルファイルを確認できます。
- Hueアクセスアドレス
https://엣지노드IP:8443/hue

3. Hive Externalテーブルを作成してデータを照会
Hueにアクセスした後、Hive Query Editorでサンプルデータファイルを活用して Hive Externalテーブルを作成できます。
- 以下のスクリプトで
hdfs://hadoop-000-000は 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://hadoop-000-000/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 (
`date` varchar(10)
, `device` varchar(10)
, `gender` varchar(10)
) ROW FORMAT delimited fields TERMINATED BY ','
STORED AS PARQUET LOCATION "hdfs://hadoop-000-000/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://hadoop-000-000/user/ncp/sample/search/click_location/";
-- 4. 商品クリックテーブルを作成
CREATE EXTERNAL TABLE sample.shopping_click (
`age` STRING
, `loc1` STRING
, `loc2` STRING
, `keyword` STRING
, `cat` STRING
, `brand` STRING
, `item` 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://hadoop-000-000/user/ncp/sample/shopping/click/";
-- 5. 商品購入テーブルを作成
CREATE EXTERNAL TABLE sample.shopping_purchase (
`age` STRING
, `loc1` STRING
, `loc2` STRING
, `cat` STRING
, `brand` STRING
, `item` 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://hadoop-000-000/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 (
`date` varchar(10)
, `device` varchar(10)
, `gender` varchar(10)
) ROW FORMAT delimited fields TERMINATED BY ','
STORED AS PARQUET LOCATION "hdfs://hadoop-000-000/user/ncp/sample/shopping/click_cooccurrence/";
-- 7. 商品購入共起テーブルを作成
CREATE EXTERNAL TABLE sample.shopping_purchase_cooccurrence (
`age` STRING
, `loc1` STRING
, `loc2` STRING
, `cat1` STRING
, `cat2` 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://hadoop-000-000/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://hadoop-000-000/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
, `brand` STRING
, `item` 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://hadoop-000-000/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
, `brand` STRING
, `item` 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://hadoop-000-000/user/ncp/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;

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()

前のステップで作成した Hiveテーブルのデータを確認できます。
%jdbc(hive)
SET hive.resultset.use.unique.column.names = false;
SELECT * FROM sample.search_click LIMIT 10;

Ncloud TensorFlow Serverでサンプルデータを照会
Ncloud TensorFlow Serverでサンプルデータを照会する方法は、次の通りです。
-
Ncloud TensorFlow Serverの下記パスでサンプルデータを確認します。
/home/ncp/workspace/sample- サンプルデータは Read-onlyで提供されます。
-
Jupyterにアクセスし、必要なモジュールをインストールします。
!pip install -U pyarrow -
以下のように提供されたサンプルファイルデータを確認します。
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 ) )