3.1. Big Data technologies
There are various tools which can be used in Big Data
management from data acquisition to data analysis. Most of
these tools are parts of Apache projects and are constructed
around the famous Hadoop. Written in Java and created by
Doug Cutting, Hadoop brings the ability to cheaply process
large amounts of data, regardless of its structure [12]. Hadoop is
made up of two core projects: Hadoop Distributed File System
(HDFS) and MapReduce.
HDFS. HDFS is a distributed file system designed to run
on large clusters of commodity hardware based on Google
File System (GFS) [15,16,3]. Shvachko et al. [17, page 1] add
HDFS strengths in their definition when saying it “is designed
to store very large datasets reliably, and to stream those
datasets at high bandwidth to user applications”. By large, we
mean from 10 to 100 GB and above [12,16]. While the interface
to HDFS is patterned after the UNIX file system, it trades off
some POSIX requirements for performance [17,15,16]. HDFS is
dedicated to batch processing rather than interactive use by
users [16,12]. In HDFS applications, files are written once and
accessed many times [16,18]; consequently data coherency is
ensured and data are accessed in high throughput [16]. With
HDFS file system metadata are stored in a dedicated server,
the NameNode, and the application data in other servers called
DataNodes. Except for processing large datasets, HDFS has
many other goals whose major is to detect and handle failures
at the application layer. This objective is realized through
a well-organized mechanism of replication where files are
divided into blocks. Each block is replicated on a number of
datanodes; all the datanodes containing a replica of a block
are not located in the same rack.
MapReduce. Originally put in place by Google to solve the
web search index creation problem [12], MapReduce is nowadays
the main programming model and associated implementation
for processing and generating large datasets [19].
The input data format in MapReduce framework is applicationspecific,
is specified by the user [20] and is suitable for semistructured
or unstructured data. The MapReduce’s output is a
set of pairs. The name “MapReduce” expresses
the fact that users specify an algorithm using two kernel
functions: “Map” and “Reduce”. The Map function is applied on
the input data and produces a list of intermediate
pairs; and the Reduce function merges all intermediate values
associated with the same intermediate key [19] [20]. In
a Hadoop cluster, a job (i.e a MapReduce program [11]) is executed
by subsequently breaking it down into pieces called
tasks. When a node in Hadoopcluster receives a job, it is able
to divide it, and run it in parallel over other nodes [12].
Here the data location problem is solved by the JobTracker
which communicates with the NameNode to help datanodes
to send tasks to near-data datanodes. Let us note that this
processing in form of pairs is not a limitation to
processing which does not seem, at first glance, feasible in
map-reduce manner. Indeed, MapReduce has been successfully
used in RDF/RDFS and OWL reasoning [21,22] and in structured
data querying [23].
Around HDFS and MapReduce there are tens of projects
which cannot be presented in detail here. Those projects can
be classified according to their capabilities:
• Storage and Management Capability
– Cloudera Manager8
: an end-to-end management application
for Cloudera’s Distribution of Apache Hadoop.
– RCFile (Record Columnar File) [24], a data placement structure
for structured data. Here, tables are vertically and
horizontally partitioned, lazily compressed. It is an efficient
storage structure which allows fast data loading
and query processing.
• Database Capability:
– Oracle NoSQL a high performance pair
database convenient for non-predictive and dynamic
data thus for Big Data;
– Apache HBase a distributed, column-oriented database
management system, modeled on Google’s Big Table
[10], that runs on top of HDFS [11,12,15];
– Apache Cassandra a database which combines the
convenience of column-indexes and the performance of
log-structured updates;
– Apache Hive can be seen as a distributed data warehouse
[15]. It enables easy data ETL from HDFS or
other data storage like HBase [11,15] or other traditional
DBMS [25]. It has the advantage of using a SQL-like syntax,
the Hive QL;
– Apache ZooKeeper is “an open-source, in-memory, distributed
NoSQL database” [3, page 69] that is used for
coordination and naming services for managing distributed
applications [3,12,11,15].
• Processing Capability
– Pig which is intended to allow people using Hadoop to
focus more on analyzing large datasets and thus
spend less time having to write mapper and reducer
programs [11,12];
– Chukwa which is a data collection system for monitoring
large distributed systems [26,15];
– Oozie which is a open-source tool for handling complex
pipelines of data pro
3.1. เทคโนโลยีข้อมูลใหญ่มีเครื่องมือต่าง ๆ ที่สามารถใช้ข้อมูลขนาดใหญ่จัดการจากข้อมูลการวิเคราะห์ข้อมูล ส่วนใหญ่ของเครื่องมือเหล่านี้เป็นส่วนหนึ่งของ Apache โครงการ และมีการก่อสร้างรอบ Hadoop ชื่อดัง เขียนใน Java และสร้างขึ้นโดยแอนดรู ตัด Hadoop นำความสามารถในการประมวลผลการทะเบียนจำนวนมากของข้อมูล โดยไม่คำนึงถึงโครงสร้างของ [12] มี Hadoopขึ้นของสองโครงการหลัก: ระบบแฟ้มที่แจกจ่าย Hadoop(HDFS) และ MapReduceHDFS HDFS เป็นระบบแฟ้มที่แจกจ่ายเพื่อเรียกใช้ในกลุ่มขนาดใหญ่ของสินค้าฮาร์ดแวร์ที่ใช้ใน Googleระบบแฟ้ม (GFS) [15,16,3] เพิ่ม Shvachko ร้อยเอ็ด [17, 1 หน้า]HDFS แข็งในนิยามของพวกเขาว่า มัน "ถูกออกแบบการจัดเก็บชุดข้อมูลขนาดใหญ่มากได้ และ การสตรีมที่datasets ที่แบนด์วิธสูงการใช้งานผู้ใช้" โดยใหญ่ เราหมายความว่า จาก 100 GB และ มากกว่า [12,16] ขณะที่อินเตอร์เฟซการ HDFS เป็นลวดลายหลังจากระบบแฟ้ม UNIX ซื้อขายปิดข้อกำหนดบางอย่าง POSIX ประสิทธิภาพ [17,15,16] เป็น HDFSโดยเฉพาะการประมวลผลแทนที่จะใช้โต้ตอบโดยชุดงานผู้ใช้ [16,12] ในการใช้งาน HDFS แฟ้มจะถูกเขียนครั้งเดียว และเข้าหลายครั้ง [16,18]; ดังนั้น จะนำข้อมูลมั่นใจ และมีการเข้าถึงข้อมูลในอัตราความเร็วสูง [16] มีข้อมูลเมตาของระบบแฟ้ม HDFS ถูกเก็บไว้ในเซิร์ฟเวอร์เฉพาะการ NameNode และข้อมูลโปรแกรมประยุกต์ในเซิร์ฟเวอร์อื่น ๆDataNodes ยกเว้นการประมวลผลชุดข้อมูลขนาดใหญ่ HDFS ได้เป้าหมายอื่น ๆ สำคัญคือการ ตรวจจับ และจัดการกับความล้มเหลวมากที่ วัตถุประสงค์นี้คือการรับรู้ผ่านกลไกของการจำลองแบบแฟ้มที่ดีจัดแบ่งออกเป็นบล็อก แต่ละบล็อกจะถูกจำลองแบบในจำนวนdatanodes datanodes ทั้งหมดที่ประกอบด้วยแบบจำลองของบล็อกจะอยู่ในชั้นเดียวกันMapReduce เดิม เก็บไว้ โดย Google เพื่อแก้ตัวเว็บค้นหาดัชนีสร้างปัญหา [12], MapReduce เป็นปัจจุบันรูปแบบโปรแกรมหลักและการใช้งานที่เกี่ยวข้องสำหรับการประมวลผล และการสร้างชุดข้อมูลขนาดใหญ่ [19]รูปแบบข้อมูลที่ป้อนเข้าในกรอบ MapReduce เป็น applicationspecificระบุ โดยผู้ใช้ [20] และเหมาะสำหรับ semistructuredหรือไม่มีโครงสร้างข้อมูล การ MapReduce ของพุการชุดของ คู่นี้ ชื่อ "MapReduce" แสดงความจริงที่ว่า ผู้ใช้ระบุอัลกอริทึมที่ใช้เคอร์เนลที่สองฟังก์ชัน: "แผนที่" และ "ลด" การทำงานของแผนที่ที่ใช้ในการข้อมูลการป้อนข้อมูล และสร้างรายการของกลาง คู่ และผสานการทำงานลดค่ากลางทั้งหมดเกี่ยวข้องกับคีย์กลางเดียวกัน [19] [20] ในดำเนินการคลัสเตอร์ Hadoop งาน (เช่นโปรแกรม MapReduce [11])โดยต่อมาแบ่งลงมาเรียกว่างาน เมื่อโหนดใน Hadoopcluster รับงาน จะสามารถการหาร และรันในขนานบนโหนอื่น ๆ [12]นี่ข้อมูลตั้งปัญหาจะแก้ไขได้ โดยการ JobTrackerซึ่งสื่อสารกับ NameNode ช่วย datanodesการส่งงานไปใกล้ข้อมูล datanodes ให้สังเกตว่า นี้ในรูปแบบของการประมวลผล คู่ไม่มีข้อจำกัดในการซึ่งไม่เหมือน อย่างง่ายดาย เป็นไปได้ในการประมวลผลแผนที่-ลดลักษณะ จริง MapReduce ได้รับเรียบร้อยแล้วใช้ในการบริการรับ RDF RDFS เล็กและนกฮูก [21,22] การใช้เหตุผล และในโครงสร้างข้อมูลสอบถาม [23]HDFS และ MapReduce มีหลายสิบโครงการซึ่งไม่สามารถนำเสนอในรายละเอียดที่นี่ โครงการเหล่านั้นสามารถจำแนกตามความสามารถ:•จัดเก็บข้อมูลและความสามารถในการจัดการ– Cloudera Manager8: โปรแกรมประยุกต์การจัดการสิ้นสุดเพื่อสิ้นสุดสำหรับการกระจายของ Cloudera ของ Apache Hadoop-RCFile (บันทึกคอลัมน์แฟ้ม) [24], "โครงสร้างการจัดวางข้อมูลสำหรับโครงสร้างข้อมูล ที่นี่ ตารางเป็นแนวตั้ง และแบ่งตามแนวนอน มูมบีบอัด มีประสิทธิภาพโครงสร้างการจัดเก็บซึ่งช่วยให้การโหลดข้อมูลเร็วและการประมวลผลแบบสอบถาม•ความสามารถฐานข้อมูล:– Oracle NoSQL ประสิทธิภาพสูง คู่ฐานข้อมูลที่สะดวกไม่ใช่ทำนาย และแบบไดนามิกข้อมูลดังนั้นข้อมูล– HBase Apache กระจาย แนวคอลัมน์ฐานข้อมูลระบบการจัดการ จำลองบนโต๊ะขนาดใหญ่ของ Google[10], ที่ทำงานบน HDFS [11,12,15];– นี่ Apache ฐานข้อมูลซึ่งรวมการคอลัมน์ดัชนีและประสิทธิภาพของการปรับปรุงโครงสร้างบันทึก– กลุ่ม Apache สามารถมองเห็นเป็นคลังข้อมูลกระจาย[15] ช่วยให้ข้อมูลง่าย ๆ ETL จาก HDFS หรือการจัดเก็บข้อมูลอื่น ๆ เช่น HBase [11,15] หรืออื่น ๆ แบบดั้งเดิมDBMS [25] มีประโยชน์ของการใช้ไวยากรณ์ SQL เหมือนกลุ่ม QL– Apache ZooKeeper คือ "การเปิดแหล่ง ในหน่วยความจำ กระจาย"ฐานข้อมูล NoSQL [3 หน้า 69] ที่ใช้สำหรับประสานงานและบริการตั้งชื่อสำหรับการจัดการกระจายการใช้งาน [3,12,11,15]•ความสามารถในการประมวลผล– หมูซึ่งมีวัตถุประสงค์เพื่อให้คนใช้ Hadoop เพื่อมุ่งเน้นเพิ่มเติมเกี่ยวกับการวิเคราะห์ชุดข้อมูลขนาดใหญ่และใช้เวลาน้อยลงการแมปและลดโปรแกรม [11, 12];– Chukwa ซึ่งเป็นระบบเก็บข้อมูลสำหรับการตรวจสอบระบบกระจายขนาดใหญ่ [26,15];– Oozie ซึ่งเป็นเครื่องมือเปิดแหล่งสำหรับการจัดการที่ซับซ้อนท่อส่งข้อมูลโป
การแปล กรุณารอสักครู่..
3.1 เทคโนโลยีข้อมูลขนาดใหญ่
มีเครื่องมือต่างๆที่สามารถนำมาใช้ในข้อมูลขนาดใหญ่ที่มี
การจัดการจากการเก็บข้อมูลเพื่อการวิเคราะห์ข้อมูล ที่สุดของ
เครื่องมือเหล่านี้เป็นส่วนหนึ่งของโครงการ Apache และถูกสร้างขึ้น
รอบ Hadoop ที่มีชื่อเสียง เขียนใน Java และสร้างขึ้นโดย
การตัดดั๊ก Hadoop นำความสามารถในการประมวลผลอย่างถูก
ข้อมูลจำนวนมากโดยไม่คำนึงถึงโครงสร้างของมัน [12] Hadoop ถูก
สร้างขึ้นจากสองโครงการหลัก: Hadoop แจกจ่าย File System
. (HDFS) และ MapReduce
HDFS HDFS เป็นระบบไฟล์กระจายออกแบบมาเพื่อทำงาน
ในกลุ่มใหญ่ของฮาร์ดแวร์สินค้าขึ้นอยู่กับ Google
File System (GFS) [15,16,3] Shvachko et al, [17 หน้า 1] เพิ่ม
จุดแข็ง HDFS ในความหมายของพวกเขาเมื่อบอกว่ามัน "ถูกออกแบบมา
เพื่อเก็บชุดข้อมูลขนาดใหญ่อย่างน่าเชื่อถือและการสตรีมเหล่านั้น
ชุดข้อมูลที่แบนด์วิธสูงเพื่อการใช้งานผู้ใช้" โดยขนาดใหญ่เรา
หมายถึง 10-100 GB และด้านบน [12,16] ในขณะที่อินเตอร์เฟซ
ที่จะ HDFS เป็นลวดลายหลังจากที่ระบบไฟล์ UNIX, ธุรกิจการค้าออก
ข้อกำหนด POSIX บางอย่างสำหรับผลการดำเนินงาน [17,15,16] HDFS จะ
ทุ่มเทให้กับการประมวลผลชุดแทนที่จะใช้โต้ตอบโดย
ผู้ใช้ [16,12] ในการใช้งาน HDFS ไฟล์จะถูกเขียนครั้งเดียวและ
เข้าถึงได้หลายต่อหลายครั้ง [16,18]; ดังนั้นการเชื่อมโยงกันข้อมูลจะ
มั่นใจและข้อมูลจะถูกเข้าถึงได้ในอัตราความเร็วสูง [16] กับ
เมตาดาต้าระบบไฟล์ HDFS ถูกเก็บไว้ในเซิร์ฟเวอร์เฉพาะ
NameNode และข้อมูลการใช้ในเซิร์ฟเวอร์อื่น ๆ เรียกว่า
DataNodes ยกเว้นสำหรับการประมวลผลชุดข้อมูลขนาดใหญ่, HDFS มี
เป้าหมายอื่น ๆ อีกมากมายที่มีความสำคัญคือการตรวจสอบและจัดการกับความล้มเหลว
ที่ชั้นสมัคร วัตถุประสงค์นี้จะตระหนักถึง
กลไกการจัดระเบียบที่ดีของการจำลองแบบที่ไฟล์จะถูก
แบ่งออกเป็นบล็อก แต่ละบล็อกถูกจำลองแบบอยู่กับจำนวนของ
datanodes; datanodes ทั้งหมดที่มีแบบจำลองของบล็อกที่
ไม่ได้อยู่ในชั้นเดียวกัน.
MapReduce แต่เดิมวางในสถานที่โดย Google ในการแก้
ปัญหาการสร้างดัชนีการค้นหาเว็บ [12], MapReduce ในปัจจุบัน
รูปแบบการเขียนโปรแกรมหลักและการดำเนินการที่เกี่ยวข้อง
สำหรับการประมวลผลและสร้างชุดข้อมูลขนาดใหญ่ [19].
รูปแบบการป้อนข้อมูลในกรอบ MapReduce เป็น applicationspecific,
มีการระบุ โดยผู้ใช้ [20] และเหมาะสำหรับแบบกึ่งโครงสร้าง
ข้อมูลหรือไม่มีโครงสร้าง การส่งออกของ MapReduce เป็น
ชุดของคู่ ชื่อ "MapReduce" เป็นการแสดงออกถึง
ความเป็นจริงที่ผู้ใช้ระบุขั้นตอนวิธีการใช้สองเคอร์เนล
ฟังก์ชั่น: "แผนที่" และ "ลด" ฟังก์ชั่นแผนที่จะนำไปใช้ในการ
ป้อนข้อมูลและการผลิตรายการของกลาง
คู่; และฟังก์ชั่นลดค่ากลางดังกล่าวทั้งหมด
ที่เกี่ยวข้องกับปุ่มกลางเดียวกัน [19] [20] ใน
คลัสเตอร์ Hadoop งาน (เช่นโปรแกรม MapReduce a [11]) จะดำเนินการ
ต่อจากนั้นทำลายมันลงไปในชิ้นส่วนที่เรียกว่า
งาน เมื่อโหนดใน Hadoopcluster รับงานก็จะสามารถ
ที่จะแบ่งมันและใช้มันในแบบคู่ขนานกว่าโหนดอื่น ๆ [12].
นี่คือปัญหาที่ตั้งของข้อมูลที่ได้รับการแก้ไขโดย JobTracker
ที่ติดต่อสื่อสารกับ NameNode ที่จะช่วยให้ datanodes
ที่จะส่งงานให้กับ ซึ่งอยู่ใกล้กับข้อมูล datanodes แจ้งให้เราทราบว่านี้
การประมวลผลในรูปแบบของคู่ไม่ได้เป็นข้อ จำกัด กับ
การประมวลผลซึ่งดูเหมือนจะไม่ได้อย่างรวดเร็วก่อนเป็นไปได้ใน
ลักษณะแผนที่ลด แท้จริง MapReduce ได้รับการประสบความสำเร็จ
ที่ใช้ใน RDF / RDFS และนกฮูกเหตุผล [21,22] และโครงสร้าง
ข้อมูลสอบถาม [23].
บริเวณใกล้เคียงและ HDFS MapReduce มีหลายสิบโครงการ
ที่ไม่สามารถนำเสนอในรายละเอียดที่นี่ โครงการเหล่านั้นสามารถ
จำแนกตามความสามารถของตน:
•การจัดเก็บข้อมูลและความสามารถในการบริหารจัดการ
- Cloudera Manager8
: การประยุกต์ใช้การจัดการแบบ end-to-end
สำหรับการจัดจำหน่าย Cloudera ของ Apache Hadoop.
- RCFile (Record ไฟล์ Columnar) [24], โครงสร้างการจัดวางข้อมูล
สำหรับ ข้อมูลที่มีโครงสร้าง ที่นี่จะมีตารางในแนวตั้งและ
แนวนอนแบ่งพาร์ติชันที่ถูกบีบอัดอย่างเฉื่อยชา มันเป็นที่มีประสิทธิภาพ
โครงสร้างการจัดเก็บซึ่งจะช่วยให้การโหลดข้อมูลได้อย่างรวดเร็ว
และการประมวลผลแบบสอบถาม.
•ความสามารถในฐานข้อมูล:
- Oracle NoSQL ที่มีประสิทธิภาพสูงคู่
ฐานข้อมูลที่สะดวกสำหรับการที่ไม่ได้คาดการณ์และแบบไดนามิก
ข้อมูลดังนั้นสำหรับข้อมูลขนาดใหญ่;
- Apache HBase กระจายฐานข้อมูลคอลัมน์ที่มุ่งเน้น
ระบบการบริหารจัดการในรูปแบบตารางใหญ่ของ Google
[10], ที่ทำงานอยู่ด้านบนของ HDFS [11,12,15] ;
- Apache Cassandra ฐานข้อมูลซึ่งรวม
ความสะดวกสบายของคอลัมน์ดัชนีและประสิทธิภาพการทำงานของ
การปรับปรุงเข้าสู่ระบบโครงสร้าง
- Apache Hive สามารถมองเห็นเป็นคลังข้อมูลกระจาย
[15] ซึ่งจะช่วยให้ ETL ข้อมูลได้ง่ายจาก HDFS หรือ
การจัดเก็บข้อมูลอื่น ๆ เช่น HBase [11,15] หรือแบบดั้งเดิมอื่น ๆ
DBMS [25] มันมีความได้เปรียบของการใช้แบบ SQL ไวยากรณ์ที่
รัง QL;
- Apache ZooKeeper คือ "โอเพนซอร์สในหน่วยความจำกระจาย
NoSQL ฐานข้อมูล" [3, หน้า 69] ที่ใช้สำหรับการ
ประสานงานและการตั้งชื่อบริการสำหรับการจัดการ การกระจาย
การใช้งาน [3,12,11,15].
•ความสามารถในการประมวลผล
- หมูซึ่งมีวัตถุประสงค์เพื่อให้ผู้ที่ใช้ Hadoop ที่จะ
มุ่งเน้นที่การวิเคราะห์ชุดข้อมูลขนาดใหญ่และทำให้
ใช้เวลาน้อยลงต้องเขียน mapper และลด
โปรแกรม [11,12];
- Chukwa ซึ่งเป็นระบบการเก็บรวบรวมข้อมูลสำหรับการตรวจสอบ
ระบบการกระจายขนาดใหญ่ [26,15];
- Oozie ซึ่งเป็นเครื่องมือที่เปิดแหล่งที่มาสำหรับการจัดการที่ซับซ้อน
ท่อโปรข้อมูล
การแปล กรุณารอสักครู่..