- 印刷する
- PDF
サンプルデータの照会
- 印刷する
- PDF
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
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;
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
- サンプルデータは読み取り専用で提供されます。
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 ) )