Cloud Computing 数据处理平台-Pig.

Slides:



Advertisements
Similar presentations
食品安全 行政院長 : 江宜樺. 目錄 1. 什麼油能吃? 2. 椰子油 3. 牛油事件 4. 豬油事件篇 5. 解決問題 6. 心得.
Advertisements

死亡是人生必經的歷程 也是每個人最終都要面對的人生大事. 大多數人很避諱談論死亡,深怕說 出「死亡」會帶來惡運,還有和死 亡相關的禁忌如:醫院和飯店電梯 按鈕都沒有四樓,紅包避諱包和 相關數字,這些都是每個人心 中的禁忌。
营养与辅食 ——10~12 个宝宝的喂养 主讲: Amy 老师 营养与辅食 ——10~12 个宝宝的喂养 主讲: Amy 老师.
妈妈宝宝小厨房 — 姜汤 主讲: Amy 老师. 主要材料:生姜、大枣、红 糖适量、水 1 、将姜、枣洗净,生姜改刀 2 、锅中放入姜,枣,水,大 火煮开后放入少许红糖, 再熬煮 5 分钟即可.
婴幼儿日常生活照料 —— 大小便规律的培养 主讲: Amy 老师. 美国 ★2岁或更大开始如厕训练,大多孩子在4~ 4 岁 半完成 ★坚决反对强制训练孩子大小便,反对对尿床的 孩子进行体罚和羞辱 ★5岁的孩子尿床是正常现象,批评会增强孩子 压力而适得其反.
高雄師範大學103學年度教育學程招生準備方向 高師大師培中心 凃金堂
Java软件设计基础 课后作业.
臺中市政府警察局 婦幼警察隊 小隊長吳敏男、謝豐昌
狙公 劉基.
天主教善導小學 錦繡中華 --- 專題研習報告比賽 實地考察 福建客家土樓的變與同.
第二組 組長:16葛詠馨 組員:8張庭瑋、14葉映歡 17鄭琇文、37黃世宣
李振华 北大网络所 在读博士 (2012年1月修订) 浅谈计算机研究的层次与境界 李振华 北大网络所 在读博士 (2012年1月修订)
婴幼儿日常生活照料 ——游泳与抚触 主讲:Amy老师.
C语言程序设计 李伟光.
班級:醫管3B 組別:第二組 組員:王品媛、郭雅瑄、謝淑玲、蔡孟蔙
漫 步 現 金 流 現金流,這輩子非得瞭解….
教學經驗分享 吳毅成 國立交通大學資訊工程系 2012年4月.
第八讲 基于Hadoop的数据仓库Hive (PPT版本号:2016年4月6日版本)
保良局何壽南小學 使用牙膏對我們生活的影響 六年級專題報告 姓名﹕李燊樺 班別﹕6B 日期﹕
中國歷史人物武則天 G組組員 韋紫恩, 余詩琪 蔡煦齡, 黃榮紳,.
第一节 人类的起源和发展.
基于Hadoop的Map/Reduce框架研究报告
50个经典面试问答 主讲:卢秀峰.
巨量資料平台: Hadoop的生態系.
台灣加油!! 決不放棄!! 加油!! 加油!! 馬英九.
日本体贴入微的服务业.
俄语字母的发音体系 阅读规则.
为教师开展大数据课程教学提供全方位、一站式服务
史蒂夫‧賈伯斯名言錄 賈伯斯找到生存力量的94句話 作者:桑原晃彌.
转正述职报告 乐恩公司 史航
發展東華特色課程 期末成果發表 呂進瑞 國立東華大學財金系.
Google App Engine Google 應用服務引擎.
C++程序设计 王希 图书馆三楼办公室.
云计算之分布式计算.
Goolge的云计算 分布式数据表BigTable.
基于Hadoop的数据仓库Hive.
《大数据技术原理与应用》 第七章 MapReduce (2016春季学期) 林子雨 厦门大学计算机科学系 主页:
第九讲 Hadoop架构再探讨 (2016春季学期)
CHAPTER 6 認識MapReduce.
Hadoop平台與應用規劃實作 報告者:劉育維.
基于大数据的物流资源整合 福建师范大学协和学院 沈庆琼.
Homework 1(上交时间:10月14号) 倒排索引.
Cloud Computing Google云计算原理.
软件工程基础 云计算概论 刘 驰.
2019/1/17 Java语言程序设计-程序流程 教师:段鹏飞.
大数据介绍及应用案例分享 2016年7月 华信咨询设计研究院有限公司.
北極熊 華德學校 田根繩.
資訊網路漫歩 趙坤茂 (Kun-Mao Chao) 台灣大學資訊工程系
应用型本科院校大数据专业 实践教学环境改革与探索
生涯手冊第18頁 生涯統整面面觀.
K/3 Cloud V6.0产品培训 -- 业务监控 K/3 Cloud 产品部
Unit 05 雲端分散式Hadoop實驗 -I M. S. Jian
Java變數 2014/6/24.
K/3 Cloud V6.1产品培训 -- 业务监控 K/3 Cloud 产品部
基于云计算及数据挖掘技术的海量数据处理研究
瀕臨絕種—北極熊 設計者:吳柏曦 班別:5B1 學校:華德學校.
基于MapReduce的Join算法优化
第三章 世界文明的蛻變與互動 第一節 歐洲社會的蛻變 第二節 世界文明的交匯 第三節 亞洲大帝國的發展 1.
第二章 类型、对象、运算符和表达式.
Review 1~3.
Java软件设计基础 课后作业.
資訊網路漫歩 趙坤茂 (Kun-Mao Chao) 台灣大學資訊工程系
Cloud Computing Google云计算原理.
基于位置感知和负载均衡 MapReduce的Join算法优化 汇报人:黄梓铭 厦大数据库实验室
方格紙上畫正方形.
班級:210 學號:60915 姓名:李佾璇 學號:60935 姓名:趙家瑩 學號:60938 姓名:鄭伊婷
變數、資料型態、運算子.
網路安全技術期末報告- Google伺服器
對於成員(member)存取權的限制 成員的資料被毫無限制的存取,任誰都可以指定任意值給成員,Java語言為了防止這種現象的產生,規定:有一種成員的資料不能任由類別外部的任何人隨意存取。
東吳大學『樂齡大學』 外雙溪環境與生態 產業 黃顯宗 東吳大學 微生物學系 101.
Presentation transcript:

Cloud Computing 数据处理平台-Pig

主要内容 简介 Pig的基本框架 Pig Latin编程语言 Pig的使用

简介 Pig是一个用来处理大规模数据集的平台,和Google的 Sawzall类似,由Yahoo!贡献给Apache。 MapReduce的查询框架虽然主要是Map和Reduce两个函 数,但是用户从编写程序到在集群中部署、运行,仍然要 花费不少时间。 Pig可以简化MapReduce任务的开发,提高在Hadoop集 群上进行数据处理的方便程度。

Pig的基本框架 Pig的基本框架 Pig Latin MapReduce Cluster

Pig的基本框架 Pig Latin:Pig专用的语言,是类似于SQL的面向 数据流的语言。能够对数据进行排序、过滤、求和、 分组、关联等功能。 MapReduce:当需要处理海量数据时,先用Pig Latin语 言编写Pig Latin程序,然后在Pig中执行 Pig Latin程序。 Pig把用户编写的Pig Latin程序编译成MapReduce作业, 上传到集群中运行。

Pig Latin编程语言 M R MapReduce虽然是现在处理海量数据的主要方法,但是 对于数据处理它仍然存在不足之处。 固定的数据流处理过程 其他操作需要用户自己动手编写 Join, filter, projection, aggregates, sorting, distinct 语义被隐藏在map和reduce函数中,使其难以维护、扩展或者被 优化 M R

Pig Latin编程语言 Pig Latin则能很好的解决上述问题。它是一种类SQL的面 向数据流的语言。它提供了对数据的排序、过滤、分组、 求和、关联等功能,同时也运行用户自定义一些函数,称 为UDF(user-defined functions)。 与编写MapReduce程序相比,Pig Latin程序可以大大减 少代码量。Pig可以自动对集群进行分配和回收,并且自 动的对MapReduce程序进行优化,用户可以将精力放在 程序功能的实现上。

Pig Latin编程语言 数据模型 Field:存放一个原子的数据。 Tuple:Field的序列,其中的每一个Field可以是任何一种数据类 型 Bag:Tuple的集合,每个Tuple可以包含不同数目不同类型的 Field。如下图 Map:一组键值对的组合,一个关系中的键值对必须唯一。 Pig Latin 的数据模型是可以嵌套的 (‘lucy’, ‘1234’) (‘jack’, (‘iPod’, ‘apple’))

Pig Latin编程语言 数据类型 类型 说明 示例 int 有符号的32位整数 127 long 有符号的64位整数 127L float 32位浮点数 3.14F double 64位浮点数 3.14 chararray UTF-8格式的字符数组 Hello World bytearray Byte数组

Pig Latin编程语言 运算符 算术运算符 操作 符号 说明 相加 + 相减 - 相乘 * 相除 / 取模 % 对整型有效(int, long) Bincond ?: 条件?成立时的值;不成立时的值

Pig Latin编程语言 运算符 Bicond运算符举例 grunt>A = LOAD ‘data.txt’ AS (f1:int, f2:int, B:bag{T:tuple(t1:int, t2:int)}); grunt>DUMP A; (3, 2, {(1, 7), (3, 5)}) (3, 3, {(1, 7), (3, 5)}) (3, 5, {(1, 7,), (3, 5), (4, 6)}) 执行下面的操作: grunt>X = FOREACH A GENERATE f2, (f2 == 2 ? 1 : COUNT(B)); grunt>DUMP X; (2, 1) (3, 2L) (5, 3L)

Pig Latin编程语言 运算符 比较运算符 操作 符号 说明 相等 == 不等 != 小于 < 大于 > 小于或等于 <= 大于或等于 >= 模式匹配 matches Matches左边是表达式,右边是字符串常量

Pig Latin编程语言 常用操作 操作名称 功能 LOAD 载入待处理的数据 FOREACH 逐行处理Tuple FILTER DUMP 将结果打印到屏幕 STORE 将结果保存到文件

Pig Latin编程语言 Visits Url Info 实例分析:在每个category中找到最访问的10个页面 Amy cnn.com User Url Time Amy cnn.com 8:00 bbc.com 10:00 flickr.com 10:05 Fred 12:00 Url Category PageRank cnn.com News 0.9 bbc.com 0.8 flickr.com Photos 0.7 espn.com Sports

Pig Latin编程语言 Load Visits Group by url Foreach url Load Url Info generate count Load Url Info Join on url Group by category Foreach category generate top10 urls

Pig Latin编程语言 Pig Latin实现 visits = load ‘/data/visits’ as (user, url, time); gVisits = group visits by url; visitCounts = foreach gVisits generate url, count(visits); urlInfo = load ‘/data/urlInfo’ as (url, category, pRank); visitCounts = join visitCounts by url, urlInfo by url; gCategories = group visitCounts by category; topUrls = foreach gCategories generate top(visitCounts,10); store topUrls into ‘/data/topUrls’;

Pig Latin编程语言 MapReduce作业 每个group或者join操作都形 成一个map-reduce的界限 Map1 Load Visits Group by url Reduce1 Map2 Foreach url generate count Load Url Info Join on url Reduce2 Map3 Group by category Reduce3 Foreach category generate top10(urls)

Pig的使用 Pig有两种工作模式 本地模式:所有的文件和执行过程都在本机进行,本地模式可以在 短时间内处理少量数据。 MapReduce模式:所有的文件和执行过程都是基于Hadoop的。 它也是Pig的默认模式。 每种模式的配置可参考http://pig.apache.org/

Pig的使用 Pig本地模式和MapReduce模式都有三种运行方式,分别 为:Grunt shell方式,脚本方式和嵌入式方式。 Grunt shell:用户可以在Grunt shell里输入Pig Latin语句和Pig 命令 脚本方式:脚本方式本质上是Grunt shell方式命令的集合,用脚 本文件存储命令序列。Pig脚本通常以.pig为后缀。 嵌入式方式:Pig命令可以嵌入到其他语言中运行。和普通的Java 程序一样,需要先编写特定的Java程序,在Java中嵌入Pig命令代 码,然后编译成对应的class文件,最后调用main函数运行该程序。

Pig的使用 Pig的调试 Pig提供了许多命令帮助程序员调试跟踪程序,这些命令包括: DESCRIBE, DUMP, EXPLAIN, ILLUSTRATE等。例如: DESCRIBE命令的作用是返回一个关系的结构 EXPLAIN命令的作用是显示脚本的执行计划 ILLUSTRATE命令的作用是跟踪程序的执行过程