SlideShare a Scribd company logo
1 of 18
Download to read offline
https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp )
Hiveハンズオン
HAIM ( 北陸AI&MeetUp )
HAIM ( 北陸AI&MeetUp ) 上野 友裕
https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp )
自己紹介 Hive まとめハンズオンHadoopとは
自己紹介
2
Tomohiro Ueno
HAIM ( 北陸AI&MeetUp ) 共同発起人
経歴:修士(情報工学) 現在はエンジニアをやっております。
卒業研究:骨格座標推定を用いた手話動画の分類
得意なこと: 画像認識、強化学習、積読
趣味: テニス、バイオリン(初心者)、オセロ、釣り、
機械学習や数学の勉強
Email: kanazawaaimeetup@gmail.com(個人用アドレスです)
Facebook: https://www.facebook.com/tomoueno.AiLab
Twitter: はなかみ王子 @DataNinjapan
https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp )
Hadoopとは
https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp )
Hadoopとは Hive ハンズオン自己紹介
Hadoopとは
4
• 大規模なデータセットを扱うためのライブラリ
• MapReduceと呼ばれる機構を使用
• データウェアハウスアプリケーション
• Googleが出した論文「The Google File System」、
「 MapReduce: Simplified Data Processing on Large Clusters 」
を参考に、有志が作成したソフトウェアがHadoop
参考: Capriolo, Edward, Dean Wampler, Jason Rutherglenと玉川 竜司. プログラミングHive. 東京: オライリー・ジャパン, 2013年.
https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp )
Hadoopとは Hive ハンズオン自己紹介
Hadoopの得意なこと、苦手なこと
5
得意なこと
• データ分析など、集計するだけのタスク
• バッチ処理
苦手なこと(できないこと)
• レコードレベルの更新や挿入、削除(つまりオンライントランザクショ
ン処理ができない。オンライン分析処理ならできる)
• MapReduceのジョブを開始するまでに時間がかかる
参考: Capriolo, Edward, Dean Wampler, Jason Rutherglenと玉川 竜司. プログラミングHive. 東京: オライリー・ジャパン, 2013年.
https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp )
Hadoopとは Hive ハンズオン自己紹介
MapReduceとは
6
• 複数台のサーバーを用いて、分散処理を行うのに適した手法
• Map: それぞれのサーバーに存在するデータをKeyとValue形式で抽出
• Reduce: KeyとValue形式の集合から求めるべき値を計算する処理
https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp )
Hadoopとは Hive ハンズオン自己紹介
MapReduceの動作イメージ
7
例:お店ごとの売り上げの合計を求め、集計を行う場合(Key: 店名, value: その店の1ヶ月の売り上げ(円))
MAP: 集計対象のデータ全てをKeyとValue形式で一時的に保持。
Reduce: 同じKeyごとにグルーピングを行い、valueをまとめる。
データの例:
{"company_A":1000000, "company_B":2000000, "company_A":9000000,
"company_C":5000000, "company_A":5000000, "company_C":3000000}
Reduceの入力時にこうなる
{“shop_A”: [1000000,9000000,5000000], “shop_B”: [2000000], “shop_C”:[2000000, 3000000]}
あとはreduce処理でショップごとの足し算を分散処理で計算
サーバーA サーバーB サーバーC
https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp )
Hadoopとは Hive ハンズオン自己紹介
ソートとシャッフル
8
Map処理
• 処理の内容に応じて上手いことグルーピングして、分散処理ができるようなKeyを割り当てる。
• 例: 日本語の単語の出現回数を求めたいときは、先頭の文字が
「あ〜お」, 「か〜こ」, 「さ〜そ」 , ….のようにひらがなの行ごとにまとめるなど
• Hiveを用いる場合は適当な方法で自動で処理してくれるので、割り当て方はあまり考えなくて良い
Reduce処理
• Key, Valueのペアの集合をKeyでソートする。
• 同じKeyを持つデータが、同じReducerに行くようにする。
(先ほどの例では、companyごとにグルーピングされたデータをReducerに受け渡す処理になる。)
https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp )
Hadoopとは Hive ハンズオン自己紹介
MapReduceより処理が効率的なTez
9
参考文献:
“第16回 並列データ処理系 Apache Tez.” Gihyo.Jp, gihyo.jp/admin/serial/01/how_hadoop_works/0016.
Accessed 3 Sept. 2020.
MapReduceの問題点
• 複数段MapReduceの処理を重ねる場合に、MapReduceを使う必要のない部分に関しても
MapReduceを用いて処理してしまう可能性がある
• 複数段MapReduceを重ねる場合、前段のMapReduceの処理が終わらないと
後続のMapReduceの処理を始められない(ジョブ待ち)
• 少ないデータを扱う場合、MapReduceを用いるとかえって時間がかかってしまう
Tezを用いる利点
• 柔軟にデータの処理の仕方を記述できるので、MapReduceに存在した無駄を減らすことができる
• 上記「MapReduceの問題点」の問題点を克服(ジョブ待ちの問題も解決)
https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp )
Hadoopとは Hive ハンズオン自己紹介
Hadoopの解説の補足
10
• Hadoopで処理を行う際は処理を記述した Javaファイルを作成し、.jarファイルを実行する
• 分散ファイルシステムのことを、「Hadoop Distributed Filesystem」、略してHDFSと呼ぶ
https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp )
HadoopをSQLで
扱いやすくする「Hive」
https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp )
自己紹介 Hadoopとは Hive ハンズオン
Hiveとは
12
• Hadoopの処理をSQLのような記法で書ける
• Hadoopを扱うために必要だったJavaのAPIを用いたプログラミングを
する必要がなくなる。
• 基本的にコマンドライン上で実行するが、GUIもある。(Clouderaの
HueやKarmasphereなどが良さそう)
https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp )
自己紹介 Hadoopとは Hive ハンズオン
HiveQLの文法
13
HQLファイルの実行(bashなどのシェルで)
$ hive –f filename.hql
インタラクティブなシェルの中でのHQLファイルの実行
source filename.hql;
※HQLファイルとは、SQLのようなコマンドか書かれたファイル
https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp )
自己紹介 Hadoopとは Hive ハンズオン
HiveQLの文法とSQLの文法の違い①
14
if文
IF(条件, trueならどうするか, falseならどうするか)
例:
SELECT
IF(aaa_table.text_hoge LIKE 'hugahuga', 1 ,0)
FROM
aaa_table
;
aaa_table.text_hogeが'hugahuga'を含んでいたら「1」、そうでなければ「0」をSELECT。
https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp )
自己紹介 Hadoopとは Hive ハンズオン
HiveQLの文法とSQLの文法の違い②
15
posexplode関数(Hive 0.13から)
参考文献:
- “LanguageManual UDF - Apache Hive - Apache Software Foundation.”
Cwiki.Apache.Org, cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-posexplode. Accessed 3 Sept. 2020.
- “LanguageManual UDF - Apache Hive - Apache Software Foundation.”
Cwiki.Apache.Org, cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-posexplode(array). Accessed 3 Sept. 2020.
- “Hive0.13とPrestoで配列の順序関係を残して色々処理したい。.” Qiita, qiita.com/toru-takahashi/items/3aad8c09c86dc8f18a78. Accessed 3 Sept. 2020.
- kakts. “Hive Posexplode関数を使った配列操作について (配列のインデックスを保持したまま処理を行う方法).” Kakts-Log, 1493,
kakts-tec.hatenablog.com/entry/2017/04/25/234644. Accessed 3 Sept. 2020.
name score
A, B 5, 10
name score
A 5
B 10
テーブルの中の順序(や対応づけ)を残したまま、テーブルを展開したい時に使用。
https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp )
ハンズオン
https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp )
自己紹介 Hadoopとは Hive ハンズオン まとめ
ハンズオン
17
https://github.com/HokurikuAIMeetup/HokurikuAIMeetupPresentation/tree/master/
Hive-Hadoop-HandsOn
ハンズオンはこちら(GitHub)
https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp )
参考文献
[1] Capriolo, Edward, Dean Wampler, Jason Rutherglenと玉川 竜司. プログラミングHive. 東京: オライリー・ジャパン, 2013年.
[2] “MapReduceとHadoopの違い(1)|データ分析用語を解説.” GiXo Ltd., www.gixo.jp/blog/12487/. Accessed 23 Aug. 2020.
[3] “LanguageManual UDF - Apache Hive - Apache Software Foundation.”
Cwiki.Apache.Org, cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-posexplode. Accessed 3
Sept. 2020.
[4] “LanguageManual UDF - Apache Hive - Apache Software Foundation.”
Cwiki.Apache.Org, cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-posexplode(array).
Accessed 3 Sept. 2020.
[5] “Hive0.13とPrestoで配列の順序関係を残して色々処理したい。.” Qiita, qiita.com/toru-takahashi/items/3aad8c09c86dc8f18a78.
Accessed 3 Sept. 2020.
[6] kakts. “Hive Posexplode関数を使った配列操作について (配列のインデックスを保持したまま処理を行う方法).” Kakts-Log, 1493,
kakts-tec.hatenablog.com/entry/2017/04/25/234644. Accessed 3 Sept. 2020.
[7] “第16回 並列データ処理系 Apache Tez.” Gihyo.Jp, gihyo.jp/admin/serial/01/how_hadoop_works/0016. Accessed 3 Sept. 2020.

More Related Content

Featured

Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
Kurio // The Social Media Age(ncy)
 

Featured (20)

PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024PEPSICO Presentation to CAGNY Conference Feb 2024
PEPSICO Presentation to CAGNY Conference Feb 2024
 
Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)Content Methodology: A Best Practices Report (Webinar)
Content Methodology: A Best Practices Report (Webinar)
 
How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024How to Prepare For a Successful Job Search for 2024
How to Prepare For a Successful Job Search for 2024
 
Social Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie InsightsSocial Media Marketing Trends 2024 // The Global Indie Insights
Social Media Marketing Trends 2024 // The Global Indie Insights
 
Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024Trends In Paid Search: Navigating The Digital Landscape In 2024
Trends In Paid Search: Navigating The Digital Landscape In 2024
 
5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary5 Public speaking tips from TED - Visualized summary
5 Public speaking tips from TED - Visualized summary
 
ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd ChatGPT and the Future of Work - Clark Boyd
ChatGPT and the Future of Work - Clark Boyd
 
Getting into the tech field. what next
Getting into the tech field. what next Getting into the tech field. what next
Getting into the tech field. what next
 
Google's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search IntentGoogle's Just Not That Into You: Understanding Core Updates & Search Intent
Google's Just Not That Into You: Understanding Core Updates & Search Intent
 
How to have difficult conversations
How to have difficult conversations How to have difficult conversations
How to have difficult conversations
 
Introduction to Data Science
Introduction to Data ScienceIntroduction to Data Science
Introduction to Data Science
 
Time Management & Productivity - Best Practices
Time Management & Productivity -  Best PracticesTime Management & Productivity -  Best Practices
Time Management & Productivity - Best Practices
 
The six step guide to practical project management
The six step guide to practical project managementThe six step guide to practical project management
The six step guide to practical project management
 
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
Beginners Guide to TikTok for Search - Rachel Pearson - We are Tilt __ Bright...
 
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
Unlocking the Power of ChatGPT and AI in Testing - A Real-World Look, present...
 
12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work12 Ways to Increase Your Influence at Work
12 Ways to Increase Your Influence at Work
 
ChatGPT webinar slides
ChatGPT webinar slidesChatGPT webinar slides
ChatGPT webinar slides
 
More than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike RoutesMore than Just Lines on a Map: Best Practices for U.S Bike Routes
More than Just Lines on a Map: Best Practices for U.S Bike Routes
 
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
Ride the Storm: Navigating Through Unstable Periods / Katerina Rudko (Belka G...
 
Barbie - Brand Strategy Presentation
Barbie - Brand Strategy PresentationBarbie - Brand Strategy Presentation
Barbie - Brand Strategy Presentation
 

Hive入門(MapReduceの解説と環境構築編)【HokurikuAIMeetup)】

  • 1. https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp ) Hiveハンズオン HAIM ( 北陸AI&MeetUp ) HAIM ( 北陸AI&MeetUp ) 上野 友裕
  • 2. https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp ) 自己紹介 Hive まとめハンズオンHadoopとは 自己紹介 2 Tomohiro Ueno HAIM ( 北陸AI&MeetUp ) 共同発起人 経歴:修士(情報工学) 現在はエンジニアをやっております。 卒業研究:骨格座標推定を用いた手話動画の分類 得意なこと: 画像認識、強化学習、積読 趣味: テニス、バイオリン(初心者)、オセロ、釣り、 機械学習や数学の勉強 Email: kanazawaaimeetup@gmail.com(個人用アドレスです) Facebook: https://www.facebook.com/tomoueno.AiLab Twitter: はなかみ王子 @DataNinjapan
  • 3. https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp ) Hadoopとは
  • 4. https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp ) Hadoopとは Hive ハンズオン自己紹介 Hadoopとは 4 • 大規模なデータセットを扱うためのライブラリ • MapReduceと呼ばれる機構を使用 • データウェアハウスアプリケーション • Googleが出した論文「The Google File System」、 「 MapReduce: Simplified Data Processing on Large Clusters 」 を参考に、有志が作成したソフトウェアがHadoop 参考: Capriolo, Edward, Dean Wampler, Jason Rutherglenと玉川 竜司. プログラミングHive. 東京: オライリー・ジャパン, 2013年.
  • 5. https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp ) Hadoopとは Hive ハンズオン自己紹介 Hadoopの得意なこと、苦手なこと 5 得意なこと • データ分析など、集計するだけのタスク • バッチ処理 苦手なこと(できないこと) • レコードレベルの更新や挿入、削除(つまりオンライントランザクショ ン処理ができない。オンライン分析処理ならできる) • MapReduceのジョブを開始するまでに時間がかかる 参考: Capriolo, Edward, Dean Wampler, Jason Rutherglenと玉川 竜司. プログラミングHive. 東京: オライリー・ジャパン, 2013年.
  • 6. https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp ) Hadoopとは Hive ハンズオン自己紹介 MapReduceとは 6 • 複数台のサーバーを用いて、分散処理を行うのに適した手法 • Map: それぞれのサーバーに存在するデータをKeyとValue形式で抽出 • Reduce: KeyとValue形式の集合から求めるべき値を計算する処理
  • 7. https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp ) Hadoopとは Hive ハンズオン自己紹介 MapReduceの動作イメージ 7 例:お店ごとの売り上げの合計を求め、集計を行う場合(Key: 店名, value: その店の1ヶ月の売り上げ(円)) MAP: 集計対象のデータ全てをKeyとValue形式で一時的に保持。 Reduce: 同じKeyごとにグルーピングを行い、valueをまとめる。 データの例: {"company_A":1000000, "company_B":2000000, "company_A":9000000, "company_C":5000000, "company_A":5000000, "company_C":3000000} Reduceの入力時にこうなる {“shop_A”: [1000000,9000000,5000000], “shop_B”: [2000000], “shop_C”:[2000000, 3000000]} あとはreduce処理でショップごとの足し算を分散処理で計算 サーバーA サーバーB サーバーC
  • 8. https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp ) Hadoopとは Hive ハンズオン自己紹介 ソートとシャッフル 8 Map処理 • 処理の内容に応じて上手いことグルーピングして、分散処理ができるようなKeyを割り当てる。 • 例: 日本語の単語の出現回数を求めたいときは、先頭の文字が 「あ〜お」, 「か〜こ」, 「さ〜そ」 , ….のようにひらがなの行ごとにまとめるなど • Hiveを用いる場合は適当な方法で自動で処理してくれるので、割り当て方はあまり考えなくて良い Reduce処理 • Key, Valueのペアの集合をKeyでソートする。 • 同じKeyを持つデータが、同じReducerに行くようにする。 (先ほどの例では、companyごとにグルーピングされたデータをReducerに受け渡す処理になる。)
  • 9. https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp ) Hadoopとは Hive ハンズオン自己紹介 MapReduceより処理が効率的なTez 9 参考文献: “第16回 並列データ処理系 Apache Tez.” Gihyo.Jp, gihyo.jp/admin/serial/01/how_hadoop_works/0016. Accessed 3 Sept. 2020. MapReduceの問題点 • 複数段MapReduceの処理を重ねる場合に、MapReduceを使う必要のない部分に関しても MapReduceを用いて処理してしまう可能性がある • 複数段MapReduceを重ねる場合、前段のMapReduceの処理が終わらないと 後続のMapReduceの処理を始められない(ジョブ待ち) • 少ないデータを扱う場合、MapReduceを用いるとかえって時間がかかってしまう Tezを用いる利点 • 柔軟にデータの処理の仕方を記述できるので、MapReduceに存在した無駄を減らすことができる • 上記「MapReduceの問題点」の問題点を克服(ジョブ待ちの問題も解決)
  • 10. https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp ) Hadoopとは Hive ハンズオン自己紹介 Hadoopの解説の補足 10 • Hadoopで処理を行う際は処理を記述した Javaファイルを作成し、.jarファイルを実行する • 分散ファイルシステムのことを、「Hadoop Distributed Filesystem」、略してHDFSと呼ぶ
  • 11. https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp ) HadoopをSQLで 扱いやすくする「Hive」
  • 12. https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp ) 自己紹介 Hadoopとは Hive ハンズオン Hiveとは 12 • Hadoopの処理をSQLのような記法で書ける • Hadoopを扱うために必要だったJavaのAPIを用いたプログラミングを する必要がなくなる。 • 基本的にコマンドライン上で実行するが、GUIもある。(Clouderaの HueやKarmasphereなどが良さそう)
  • 13. https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp ) 自己紹介 Hadoopとは Hive ハンズオン HiveQLの文法 13 HQLファイルの実行(bashなどのシェルで) $ hive –f filename.hql インタラクティブなシェルの中でのHQLファイルの実行 source filename.hql; ※HQLファイルとは、SQLのようなコマンドか書かれたファイル
  • 14. https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp ) 自己紹介 Hadoopとは Hive ハンズオン HiveQLの文法とSQLの文法の違い① 14 if文 IF(条件, trueならどうするか, falseならどうするか) 例: SELECT IF(aaa_table.text_hoge LIKE 'hugahuga', 1 ,0) FROM aaa_table ; aaa_table.text_hogeが'hugahuga'を含んでいたら「1」、そうでなければ「0」をSELECT。
  • 15. https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp ) 自己紹介 Hadoopとは Hive ハンズオン HiveQLの文法とSQLの文法の違い② 15 posexplode関数(Hive 0.13から) 参考文献: - “LanguageManual UDF - Apache Hive - Apache Software Foundation.” Cwiki.Apache.Org, cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-posexplode. Accessed 3 Sept. 2020. - “LanguageManual UDF - Apache Hive - Apache Software Foundation.” Cwiki.Apache.Org, cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-posexplode(array). Accessed 3 Sept. 2020. - “Hive0.13とPrestoで配列の順序関係を残して色々処理したい。.” Qiita, qiita.com/toru-takahashi/items/3aad8c09c86dc8f18a78. Accessed 3 Sept. 2020. - kakts. “Hive Posexplode関数を使った配列操作について (配列のインデックスを保持したまま処理を行う方法).” Kakts-Log, 1493, kakts-tec.hatenablog.com/entry/2017/04/25/234644. Accessed 3 Sept. 2020. name score A, B 5, 10 name score A 5 B 10 テーブルの中の順序(や対応づけ)を残したまま、テーブルを展開したい時に使用。
  • 16. https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp ) ハンズオン
  • 17. https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp ) 自己紹介 Hadoopとは Hive ハンズオン まとめ ハンズオン 17 https://github.com/HokurikuAIMeetup/HokurikuAIMeetupPresentation/tree/master/ Hive-Hadoop-HandsOn ハンズオンはこちら(GitHub)
  • 18. https://haim.connpass.com/ HAIM ( 北陸AI&MeetUp ) 参考文献 [1] Capriolo, Edward, Dean Wampler, Jason Rutherglenと玉川 竜司. プログラミングHive. 東京: オライリー・ジャパン, 2013年. [2] “MapReduceとHadoopの違い(1)|データ分析用語を解説.” GiXo Ltd., www.gixo.jp/blog/12487/. Accessed 23 Aug. 2020. [3] “LanguageManual UDF - Apache Hive - Apache Software Foundation.” Cwiki.Apache.Org, cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-posexplode. Accessed 3 Sept. 2020. [4] “LanguageManual UDF - Apache Hive - Apache Software Foundation.” Cwiki.Apache.Org, cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF#LanguageManualUDF-posexplode(array). Accessed 3 Sept. 2020. [5] “Hive0.13とPrestoで配列の順序関係を残して色々処理したい。.” Qiita, qiita.com/toru-takahashi/items/3aad8c09c86dc8f18a78. Accessed 3 Sept. 2020. [6] kakts. “Hive Posexplode関数を使った配列操作について (配列のインデックスを保持したまま処理を行う方法).” Kakts-Log, 1493, kakts-tec.hatenablog.com/entry/2017/04/25/234644. Accessed 3 Sept. 2020. [7] “第16回 並列データ処理系 Apache Tez.” Gihyo.Jp, gihyo.jp/admin/serial/01/how_hadoop_works/0016. Accessed 3 Sept. 2020.