การฝากข้อมูลใน Hive: สร้างตารางที่ฝากข้อมูลใน Hive
เผยแพร่แล้ว: 2021-02-17การทำงานกับชุดข้อมูลขนาดใหญ่อาจเป็นเรื่องที่ท้าทาย มีสิ่งต่างๆ มากมายให้ติดตาม และข้อผิดพลาดเล็กน้อยเพียงข้อเดียวอาจรบกวนขั้นตอนการทำงานทั้งหมดของคุณ หนึ่งในเครื่องมือที่โดดเด่นที่สุดสำหรับการจัดการชุดข้อมูลขนาดใหญ่คือการฝากข้อมูล
บทความนี้จะบอกคุณเกี่ยวกับวิธีการดำเนินการฝากข้อมูลใน Hive เราจะสำรวจการใช้งานฟังก์ชันนี้หลายครั้งผ่านตัวอย่าง
สารบัญ
Bucketing in Hive คืออะไร?
Bucketing เป็นเทคนิคการจัดระเบียบข้อมูล แม้ว่าการแบ่งพาร์ติชันและการทำบัคเก็ตใน Hive จะเป็นแนวคิดที่คล้ายคลึงกัน แต่การฝากข้อมูลก็มีฟังก์ชันเพิ่มเติมในการแบ่งชุดข้อมูลขนาดใหญ่ออกเป็นชุดที่เล็กกว่าและสามารถจัดการได้มากกว่าที่เรียกว่าบัคเก็ต
เมื่อใช้การฝากข้อมูลใน Hive คุณจะแยกชุดข้อมูลตารางออกเป็นส่วนเล็กๆ ได้ ทำให้จัดการได้ง่ายขึ้น การฝากข้อมูลทำให้คุณสามารถจัดกลุ่มประเภทข้อมูลที่คล้ายกันและเขียนลงในไฟล์เดียว ซึ่งช่วยเพิ่มประสิทธิภาพของคุณในขณะที่เข้าร่วมตารางหรืออ่านข้อมูล นี่เป็นเหตุผลใหญ่ว่าทำไมเราใช้การฝากข้อมูลกับการแบ่งพาร์ติชันเป็นส่วนใหญ่
เมื่อใดที่เราใช้การฝากข้อมูล
การฝากข้อมูลเป็นฟังก์ชันที่มีประโยชน์มาก หากคุณไม่เคยใช้มาก่อน คุณควรคำนึงถึงประเด็นต่อไปนี้เพื่อกำหนดว่าเมื่อใดควรใช้ฟังก์ชันนี้:
- เมื่อคอลัมน์มีความสำคัญสูง เราไม่สามารถแบ่งพาร์ติชันได้ พาร์ติชั่นจำนวนมากจะสร้างไฟล์ Hadoop จำนวนมากเกินไป ซึ่งจะเพิ่มภาระให้กับโหนด นั่นเป็นเพราะว่าโหนดจะต้องเก็บข้อมูลเมตาของทุกพาร์ติชั่นไว้ และจะส่งผลต่อประสิทธิภาพของโหนดนั้น
- คุณควรใช้การฝากข้อมูลหากข้อความค้นหาของคุณมีการรวมฝั่งแผนที่หลายรายการ การรวมฝั่งแผนที่เป็นกระบวนการที่คุณเข้าร่วมสองตารางโดยใช้ฟังก์ชันแผนที่เท่านั้นโดยไม่ต้องใช้ฟังก์ชันลด
ไฮไลท์ของการฝากข้อมูลใน Hive
Bucketing ขึ้นอยู่กับฟังก์ชัน hashing ดังนั้นจึงมีไฮไลท์ดังต่อไปนี้:
- hash_function ขึ้นอยู่กับชนิดของคอลัมน์ที่ฝากข้อมูลที่คุณมี
- คุณควรจำไว้ว่าระเบียนที่มีคอลัมน์ที่ฝากข้อมูลเดียวกันจะถูกจัดเก็บไว้ในที่เก็บข้อมูลเดียวกัน
- ฟังก์ชันนี้กำหนดให้คุณใช้ส่วนคำสั่ง Clustered By เพื่อแบ่งตารางออกเป็นบัคเก็ต
- ในไดเร็กทอรีตาราง การกำหนดหมายเลขบัคเก็ตเป็นแบบ 1 และทุกบัคเก็ตเป็นไฟล์
- การฝากข้อมูลเป็นฟังก์ชันแบบสแตนด์อโลน ซึ่งหมายความว่าคุณสามารถดำเนินการฝากข้อมูลโดยไม่ต้องทำการแบ่งพาร์ติชันบนโต๊ะ
- ตารางที่ฝากข้อมูลจะสร้างส่วนไฟล์ข้อมูลที่มีการกระจายเกือบเท่าๆ กัน
- โปรดทราบว่าการฝากข้อมูลไม่ได้ช่วยให้แน่ใจว่าตารางของคุณจะมีข้อมูลเพียงพอ ดังนั้น คุณจะต้องจัดการการโหลดข้อมูลลงในบัคเก็ตด้วยตนเอง ซึ่งอาจยุ่งยาก
อ่าน: Hive Vs Spark
การฝากข้อมูลใน Hive: ตัวอย่าง #1
เป็นการดีที่สุดที่จะเข้าใจการฝากข้อมูลใน Hive โดยใช้ตัวอย่าง เราจะใช้ข้อมูลต่อไปนี้สำหรับตัวอย่างของเรา:
EMPID | ชื่อจริง | นามสกุล | กีฬา | เมือง | ประเทศ |
1001 | เอเมอรี | แบลร์ | บาสเกตบอล | กุตุบุลละปูร์ | ซานมารีโน |
1002 | เซเฟร | สตีเฟนสัน | คริกเก็ต | Neerharen | สาธารณรัฐโดมินิกัน |
1003 | ฤดูใบไม้ร่วง | ถั่ว | บาสเกตบอล | Neerharen | สาธารณรัฐโดมินิกัน |
1004 | กาซิเมียร์ | แวนซ์ | แบดมินตัน | Neerharen | สาธารณรัฐโดมินิกัน |
1005 | มูฟูเตา | ฟลอเรส | กุตุบุลละปูร์ | ซานมารีโน | |
1006 | อัญญา | ธนาคาร | ฟุตบอล | Neerharen | สาธารณรัฐโดมินิกัน |
1007 | เซลมา | ลูกบอล | เทนนิส | กุตุบุลละปูร์ | ซานมารีโน |
1008 | Berk | ฟุลเลอร์ | แบดมินตัน | Neerharen | สาธารณรัฐโดมินิกัน |
1009 | Imogene | Terrell | กุตุบุลละปูร์ | ซานมารีโน | |
1010 | โคโลราโด | ฮัทชินสัน | เทนนิส | กุตุบุลละปูร์ | ซานมารีโน |
ข้อมูลตัวอย่างของเราประกอบด้วยข้อมูลพนักงานสำหรับทีมกีฬา อย่างไรก็ตาม พนักงานบางคนไม่ได้เป็นส่วนหนึ่งของทีมใด
นี่คือข้อมูลตัวอย่างที่คุณสามารถคัดลอกและวางเพื่อทำตามตัวอย่างนี้:
id, ชื่อ, นามสกุล, กีฬา, เมือง, ประเทศ
1001,Emerry, Blair, บาสเก็ตบอล, Qutubullapur, ซานมาริโน
1002, Zephr, Stephenson, Cricket, Neerharen, สาธารณรัฐโดมินิกัน
1003 ฤดูใบไม้ร่วง ถั่ว บาสเก็ตบอล Neerharen สาธารณรัฐโดมินิกัน
1004, Kasimir, Vance, Badminton, Neerharen, สาธารณรัฐโดมินิกัน
1005, Mufutau, Flores, Qutubullapur, ซานมาริโน
1006, Ayanna, Banks, ฟุตบอล, Neerharen, สาธารณรัฐโดมินิกัน
1007,เซลมา,บอล,เทนนิส,Qutubullapur,ซานมาริโน
1008, Berk, Fuller, Badminton, Neerharen, สาธารณรัฐโดมินิกัน
1009,Imogene,Terrell,,Qutubullapur,ซานมาริโน
1010,โคโลราโด,ฮัทชินสัน,เทนนิส,Qutubullapur,ซานมาริโน
เราทราบแล้วว่าการฝากข้อมูลช่วยให้เราจัดกลุ่มชุดข้อมูลออกเป็นส่วนเล็กๆ เพื่อการเพิ่มประสิทธิภาพได้ ตอนนี้เรามาพูดคุยกันว่าจะเสร็จสิ้นกระบวนการนี้อย่างไร:
การสร้างตารางฐาน
ขั้นแรก เราจะสร้างตารางชื่อ employee_base:
สร้างตาราง db_bdpbase.employee_base (
ชัดเจน INT,
ชื่อจริง STRING
นามสกุล STRING
กีฬาสตริง,
เมือง STRING
ประเทศ STRING
)
รูปแบบแถว DELIMITED
ช่องที่ยุติโดย ','
จัดเก็บเป็น TEXTFILE
TBLPROPERTIES(“skip.header.line.count”=”1”);
ข้อมูลตัวอย่างของเรามีส่วนหัวซึ่งไม่จำเป็นสำหรับการฝากข้อมูล ดังนั้นเราจะลบออกโดยเพิ่มคุณสมบัติ 'ข้ามส่วนหัว'
กำลังโหลดข้อมูลลงในตารางฐาน
เราจะใช้ตำแหน่ง '/usr/bdp/hive/sample_data.csv' สำหรับข้อมูลตัวอย่างของเรา และใช้คำสั่งต่อไปนี้เพื่อโหลดลงในตาราง:
โหลดข้อมูลขาเข้า '/user/bdp/hive/sample_data.csv' ลงในตาราง db_bdpbase.employee_base;
การสร้างตารางที่ฝากข้อมูล
ในส่วนนี้ เราจะสร้างตารางที่ฝากข้อมูล ตอนนี้เราสามารถสร้างตารางที่ฝากข้อมูลด้วยพาร์ติชั่นหรือไม่มีพาร์ติชั่น
ตารางที่ฝากข้อมูลพร้อมฉากกั้น
ในกรณีนี้ ประเทศคือคอลัมน์พาร์ทิชัน และเราได้รวบรวมคอลัมน์ empid ที่เราจัดเรียงตามลำดับจากน้อยไปมาก:
สร้างตาราง db_bdpbase.bucketed_partition_tbl (
เอ็มไพร์ INT,
ชื่อจริง STRING
นามสกุล STRING
กีฬาสตริง,
เมือง STRING
) แบ่งโดย (ประเทศ STRING)
คลัสเตอร์โดย (empid)
เรียงตาม (empid ASC) ออกเป็น 4 ถัง;
ตารางที่ฝากข้อมูลโดยไม่มีพาร์ติชัน
อีกทางหนึ่ง เราสามารถสร้างตารางที่ฝากข้อมูลโดยไม่มีพาร์ติชัน:
สร้างตาราง db_bdpbase.bucketed_tbl_only (
เอ็มไพร์ INT,
ชื่อจริง STRING
นามสกุล STRING
เมือง STRING
ประเทศ STRING
)
คลัสเตอร์โดย (empid)
เรียงตาม (empid ASC) ออกเป็น 4 ถัง;
ที่นี่ เราได้รวมตารางไว้ใน empid คอลัมน์เดียวกัน
การตั้งค่าคุณสมบัติ
การตั้งค่าเริ่มต้นสำหรับการฝากข้อมูลใน Hive ถูกปิดใช้งาน ดังนั้นเราจึงเปิดใช้งานโดยตั้งค่าเป็น true คุณสมบัติต่อไปนี้จะเลือกจำนวนของคลัสเตอร์และตัวลดตามตาราง:
SET hive.enforce.bucketing=TRUE; (ไม่จำเป็นใน Hive 2.x เป็นต้นไป)
กำลังโหลดข้อมูลลงในตารางที่ฝากข้อมูล
จนถึงตอนนี้ เราได้สร้างตารางที่ฝากข้อมูลสองตารางและตารางฐานที่มีข้อมูลตัวอย่างของเรา ตอนนี้เราจะโหลดข้อมูลลงในตารางที่ฝากข้อมูลจากตารางฐานโดยใช้คำสั่งต่อไปนี้ในตารางที่ฝากข้อมูลที่มีพาร์ติชัน:
แทรกตารางเขียนทับ db_bdpbase.bucketed_partition_tbl พาร์ติชัน (ประเทศ) เลือก * จาก db_bdpbase.employee_base;
ในการโหลดข้อมูลลงในตารางที่ฝากข้อมูลโดยไม่มีพาร์ติชัน เราจะใช้คำสั่งต่อไปนี้:
แทรกตารางเขียนทับ db_bdpbase.bucketed_tbl_only SELECT * FROM db_bdpbase.employee_base;
การตรวจสอบข้อมูลตารางที่ฝากข้อมูล
หลังจากโหลดข้อมูลลงในตารางที่ฝากข้อมูล เราจะตรวจสอบว่าข้อมูลถูกเก็บไว้ใน HDFS อย่างไร เราจะใช้รหัสต่อไปนี้เพื่อตรวจสอบตารางที่ฝากไว้กับพาร์ติชั่น:
hadoop fs -ls hdfs://sandbox.hortonworks.com:8020/apps/hive/warehouse/db_bdpbase.db/bucketed_partition_tbl
การจัดเก็บข้อมูลในตารางที่ฝากข้อมูล
ทุกจุดข้อมูลได้รับการแมปไปยังเฉพาะตามสูตรต่อไปนี้:
hash_function(bucket_column) โหมด num_bucket
ตอนนี้ พิจารณาตารางแรกที่เราแบ่งพาร์ติชั่นตามประเทศ ข้อมูลตัวอย่างของเราจะถูกแบ่งออกเป็นส่วนต่อไปนี้:
EMPID | ชื่อจริง | นามสกุล | กีฬา | เมือง | ประเทศ |
1002 | เซเฟร | สตีเฟนสัน | คริกเก็ต | Neerharen | สาธารณรัฐโดมินิกัน |
1003 | ฤดูใบไม้ร่วง | ถั่ว | บาสเกตบอล | Neerharen | สาธารณรัฐโดมินิกัน |
1004 | กาซิเมียร์ | แวนซ์ | แบดมินตัน | Neerharen | สาธารณรัฐโดมินิกัน |
1006 | อัญญา | ธนาคาร | ฟุตบอล | Neerharen | สาธารณรัฐโดมินิกัน |
1008 | Berk | ฟุลเลอร์ | แบดมินตัน | Neerharen | สาธารณรัฐโดมินิกัน |
EMPID | ชื่อจริง | นามสกุล | กีฬา | เมือง | ประเทศ |
1001 | เอเมอรี | แบลร์ | บาสเกตบอล | กุตุบุลละปูร์ | ซานมารีโน |
1005 | มูฟูเตา | ฟลอเรส | กุตุบุลละปูร์ | ซานมารีโน | |
1007 | เซลมา | ลูกบอล | เทนนิส | กุตุบุลละปูร์ | ซานมารีโน |
1009 | Imogene | Terrell | กุตุบุลละปูร์ | ซานมารีโน | |
1010 | โคโลราโด | ฮัทชินสัน | เทนนิส | กุตุบุลละปูร์ | ซานมารีโน |
สำหรับสาธารณรัฐโดมินิกัน ทุกแถวจะถูกเก็บไว้ในที่เก็บข้อมูล:
hash_function(1002) โหมด 4 = 2 (แสดงดัชนีของที่เก็บข้อมูล)
hash_function(1003) โหมด 4 = 3
hash_function(1004) โหมด 4 = 0
hash_function(1006) โหมด 4 = 2
hash_function(1008) โหมด 4 = 0
โปรดทราบว่า hash_function ของค่า INT จะให้ผลลัพธ์แบบเดียวกัน คุณสามารถตรวจสอบข้อมูลในทุกไฟล์ได้ที่ตำแหน่ง HDFS หากต้องการ คุณสามารถทำขั้นตอนนี้ซ้ำสำหรับประเทศอื่นๆ ที่อยู่ในฐานข้อมูล
การฝากข้อมูลใน Hive: ตัวอย่าง #2
เนื่องจากเราได้กล่าวถึงขั้นตอนและขั้นตอนต่างๆ ที่มีอยู่ในการนำฟังก์ชันนี้ไปใช้แล้ว เราสามารถทดลองใช้งานได้อย่างง่ายดาย ต่อไปนี้คือตัวอย่างง่ายๆ ของการฝากข้อมูลใน Hive ในที่นี้ เราได้รวมเฉพาะข้อมูลที่มีอยู่ในส่วนต่างๆ เท่านั้น เพื่อให้เราสามารถจัดการได้ง่ายขึ้น:
0: jdbc:hive2://cdh-vm.dbaglobe.com:10000/def> สร้างตารางรายเดือน_taxi_fleet6
. . . . . . . . . . . . . . . . . . . . . . .> (เดือน char(7),fleet smallint,บริษัท varchar(50))
. . . . . . . . . . . . . . . . . . . . . . .> จัดกลุ่มตาม (บริษัท) ออกเป็น 3 ถัง
. . . . . . . . . . . . . . . . . . . . . . .> เก็บไว้เป็น avro;
ตัวอย่างการใช้ Apache Hive เวอร์ชัน 1.1.0-cdh5.13.1, hive.enforce.bucketing=false เป็นค่าเริ่มต้น
0: jdbc:hive2://cdh-vm.dbaglobe.com:10000/def> แทรกลงใน month_taxi_fleet6
. . . . . . . . . . . . . . . . . . . . . . .> เลือกเดือน, กองเรือ, บริษัท จาก month_taxi_fleet;
[upgrad@cdh-vm ~]$ hdfs dfs -ls -R /user/hive/warehouse/monthly_taxi_fleet6
-rwxrwxrwt 1 กลุ่ม อัปเกรด 25483 2017-12-26 10:40 /user/hive/warehouse/monthly_taxi_fleet6/000000_0
— hive.enforce.bucketing: มีการบังคับใช้การฝากข้อมูลหรือไม่ หากเป็น true ขณะแทรกลงในตาราง ระบบจะบังคับใช้การฝากข้อมูล
— ค่าเริ่มต้น: Hive 0.x: false, Hive 1.x: false, Hive 2.x: ลบออก ซึ่งทำให้เป็นจริงเสมอ (HIVE-12331)
0: jdbc:hive2://cdh-vm.dbaglobe.com:10000/def> set hive.enforce.bucketing=true;
0: jdbc:hive2://cdh-vm.dbaglobe.com:10000/def> แทรกลงใน month_taxi_fleet6
. . . . . . . . . . . . . . . . . . . . . . .> เลือกเดือน, กองเรือ, บริษัท จาก month_taxi_fleet;
[upgrad@cdh-vm ~]$ hdfs dfs -ls -R /user/hive/warehouse/monthly_taxi_fleet6
-rwxrwxrwt 1 กลุ่มอัปเกรด 13611 2017-12-26 10:43 /user/hive/warehouse/monthly_taxi_fleet6/000000_0
-rwxrwxrwt 1 กลุ่มอัปเกรด 6077 2017-12-26 10:43 /user/hive/warehouse/monthly_taxi_fleet6/000001_0
-rwxrwxrwt 1 กลุ่มอัปเกรด 6589 2017-12-26 10:43 /user/hive/warehouse/monthly_taxi_fleet6/000002_0
0: jdbc:hive2://cdh-vm.dbaglobe.com:10000/def> อธิบายส่วนขยายรายเดือน_taxi_fleet6;
+—————–+—————————————————-+———-+–+
| col_name | data_type | ความคิดเห็น |
+—————–+—————————————————-+———-+–+
| เดือน | ถ่าน(7) | |
| กองเรือ | int | |
| บริษัท | varchar(50) | |
| | NULL | NULL |
| ข้อมูลตารางโดยละเอียด | ตาราง(tableName:monthly_taxi_fleet6, dbName:default, owner:upgrad, createTime:1514256031, lastAccessTime:0, retention:0, sd:StorageDescriptor(cols:[FieldSchema(name:month, type:char(7), comment:null) , FieldSchema(ชื่อ:fleet, type:smallint, comment:null), FieldSchema(name:company, type:varchar(50), comment:null)], location:hdfs://cdh-vm.dbaglobe.com:8020 /user/hive/warehouse/monthly_taxi_fleet6, inputFormat:org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat, outputFormat:org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat, บีบอัด: เท็จ, numBuck :3, serdeInfo:SerDeInfo(name:null, serializationLib:org.apache.hadoop.hive.serde2.avro.AvroSerDe, พารามิเตอร์:{serialization.format=1}), bucketCols:[บริษัท], sortCols:[], พารามิเตอร์ :{}, skewedInfo:SkewedInfo(skewedColNames:[], skewedColValues:[], skewedColValueLocationMaps:{}), reservedAsSubDirectories:false), partitionKeys:[], พารามิเตอร์:{totalSize=26277, STA0, rawDataSize=11 =จริง, numFiles=3, tra nsient_lastDdlTime=1514256192}, viewOriginalText:null, viewExpandedText:null, tableType:MANAGED_TABLE) | |
+—————–+—————————————————-+———-+–+
เลือก 5 แถว (0.075 วินาที)
ชำระเงิน: คำถามสัมภาษณ์กลุ่มพื้นฐาน
การฝากข้อมูลใน Hive: ตัวอย่าง #3
ด้านล่างนี้เป็นตัวอย่างขั้นสูงเล็กน้อยของการฝากข้อมูลใน Hive ที่นี่ เราได้ดำเนินการแบ่งพาร์ติชันและใช้ฟังก์ชันการจัดเรียงตามเพื่อให้เข้าถึงข้อมูลได้มากขึ้น นี่เป็นหนึ่งในข้อดีที่ใหญ่ที่สุดของการฝากข้อมูล คุณสามารถใช้ร่วมกับฟังก์ชันอื่นๆ เพื่อจัดการชุดข้อมูลขนาดใหญ่ได้อย่างมีประสิทธิภาพและประสิทธิผลมากขึ้น
0: jdbc:hive2://cdh-vm.dbaglobe.com:10000/def> สร้างตารางรายเดือน_taxi_fleet7
. . . . . . . . . . . . . . . . . . . . . . .> (เดือน char(7),fleet smallint)
. . . . . . . . . . . . . . . . . . . . . . .> แบ่งโดย (บริษัท varchar(50))
. . . . . . . . . . . . . . . . . . . . . . .> จัดกลุ่มตาม (เดือน) จัดเรียงตาม (เดือน) ออกเป็น 3 ถัง
. . . . . . . . . . . . . . . . . . . . . . .> เก็บไว้เป็น avro;
0: jdbc:hive2://cdh-vm.dbaglobe.com:10000/def> แทรกลงใน month_taxi_fleet7
. . . . . . . . . . . . . . . . . . . . . . .> พาร์ทิชั่น (บริษัท)
. . . . . . . . . . . . . . . . . . . . . . .> เลือกเดือน, กองเรือ, บริษัท จาก month_taxi_fleet;
[upgrad@cdh-vm ~]$ hdfs dfs -ls -R /user/hive/warehouse/monthly_taxi_fleet7
drwxrwxrwt – อัปเกรดไฮฟ์ 0 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=CityCab
-rwxrwxrwt 1 กลุ่มอัปเกรด 865 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=CityCab/000000_0
-rwxrwxrwt 1 กลุ่มอัปเกรด 865 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=CityCab/000001_0
-rwxrwxrwt 1 กลุ่มอัปเกรด 865 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=CityCab/000002_0
drwxrwxrwt – อัปเกรดกลุ่ม 0 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=Comfort
-rwxrwxrwt 1 กลุ่มอัปเกรด 913 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=Comfort/000000_0
-rwxrwxrwt 1 กลุ่มอัปเกรด 913 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=Comfort/000001_0
-rwxrwxrwt 1 กลุ่มอัปเกรด 913 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=Comfort/000002_0
drwxrwxrwt – upgrad hive 0 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=Individual Yellow- Top
-rwxrwxrwt 1 กลุ่มอัปเกรด 865 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=บุคคลสีเหลือง- ด้านบน/000000_0
-rwxrwxrwt 1 กลุ่มอัปเกรด 865 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=Individual Yellow- Top/000001_0
-rwxrwxrwt 1 กลุ่มอัปเกรด 865 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=Individual Yellow- Top/000002_0
drwxrwxrwt – อัปเกรดไฮฟ์ 0 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=Premier
-rwxrwxrwt 1 กลุ่มอัปเกรด 865 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=Premier/000000_0
-rwxrwxrwt 1 กลุ่มอัปเกรด 865 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=Premier/000001_0
-rwxrwxrwt 1 กลุ่มอัปเกรด 865 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=Premier/000002_0
drwxrwxrwt – อัปเกรดไฮฟ์ 0 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=Prime
-rwxrwxrwt 1 กลุ่มอัปเกรด 765 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=Prime/000000_0
-rwxrwxrwt 1 กลุ่มอัปเกรด 765 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=Prime/000001_0
-rwxrwxrwt 1 กลุ่มอัปเกรด 766 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=Prime/000002_0
drwxrwxrwt – อัปเกรดไฮฟ์ 0 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=SMRT
-rwxrwxrwt 1 กลุ่มอัปเกรด 865 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=SMRT/000000_0
-rwxrwxrwt 1 กลุ่มอัปเกรด 865 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=SMRT/000001_0
-rwxrwxrwt 1 กลุ่มอัปเกรด 865 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=SMRT/000002_0
drwxrwxrwt – อัปเกรดไฮฟ์ 0 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=Smart
-rwxrwxrwt 1 กลุ่มอัปเกรด 720 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=Smart/000000_0
-rwxrwxrwt 1 กลุ่มอัปเกรด 719 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=Smart/000001_0
-rwxrwxrwt 1 กลุ่มอัปเกรด 719 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=Smart/000002_0
drwxrwxrwt – อัปเกรดไฮฟ์ 0 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=TransCab
-rwxrwxrwt 1 กลุ่มอัปเกรด 865 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=TransCab/000000_0
-rwxrwxrwt 1 กลุ่มอัปเกรด 865 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=TransCab/000001_0
-rwxrwxrwt 1 กลุ่มอัปเกรด 865 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=TransCab/000002_0
drwxrwxrwt – อัปเกรดไฮฟ์ 0 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=YTC
-rwxrwxrwt 1 กลุ่มอัปเกรด 432 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=YTC/000000_0
-rwxrwxrwt 1 กลุ่มอัปเกรด 432 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=YTC/000001_0
-rwxrwxrwt 1 กลุ่มอัปเกรด 432 2017-12-26 11:05 /user/hive/warehouse/monthly_taxi_fleet7/company=YTC/000002_0
เรียนรู้เพิ่มเติมเกี่ยวกับการแบ่งพาร์ติชันและการฝากข้อมูลใน Hive
ในตัวอย่างที่เราแชร์ก่อนหน้านี้ เราได้ดำเนินการแบ่งพาร์ติชั่นและบัคเก็ตใน Hive ด้วยวิธีต่างๆ และเรียนรู้เกี่ยวกับวิธีการใช้งานใน Hive อย่างไรก็ตาม Apache Hive มีฟังก์ชันอื่นๆ มากมาย และการเรียนรู้เกี่ยวกับฟังก์ชันเหล่านี้ทั้งหมดอาจเป็นเรื่องที่ค่อนข้างยาก
นั่นเป็นเหตุผลที่เราแนะนำให้เรียนหลักสูตรวิศวกรรมข้อมูล จะช่วยให้คุณศึกษาจากผู้เชี่ยวชาญในอุตสาหกรรมที่ใช้เวลาหลายปีในอุตสาหกรรมนี้ หลักสูตรมีหลักสูตรที่มีโครงสร้างซึ่งคุณสามารถเรียนรู้ทุกอย่างทีละขั้นตอน ที่ upGrad เรามี หลักสูตรวิศวกรรมข้อมูล โดย เฉพาะ
ด้วยหลักสูตรของเรา คุณจะสามารถเข้าถึงมุมความสำเร็จของนักเรียนของ upGrad ซึ่งคุณจะได้รับข้อเสนอแนะประวัติส่วนตัว การเตรียมการสัมภาษณ์ การให้คำปรึกษาด้านอาชีพ และข้อดีอื่นๆ อีกมากมาย
หลังจากจบหลักสูตร คุณจะเป็นผู้เชี่ยวชาญด้านวิศวกรรมข้อมูลมากความสามารถ
บทสรุป
การฝากข้อมูลใน Hive นั้นง่ายมากและง่ายต่อการดำเนินการ เป็นฟังก์ชันที่มีประโยชน์สำหรับชุดข้อมูลขนาดใหญ่อย่างแน่นอน อย่างไรก็ตาม เมื่อคุณทำทั้งการแบ่งพาร์ติชันและการทำบัคเก็ตใน Hive ร่วมกัน คุณสามารถจัดการชุดข้อมูลจำนวนมากได้อย่างง่ายดาย
หากคุณสนใจที่จะทราบข้อมูลเพิ่มเติมเกี่ยวกับโปรแกรม Big Data ให้ตรวจสอบ PG Diploma in Software Development Specialization ในโปรแกรม Big Data ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีกรณีศึกษาและโครงการมากกว่า 7 กรณี ครอบคลุมภาษาและเครื่องมือในการเขียนโปรแกรม 14 รายการ ในการประชุมเชิงปฏิบัติการ ความช่วยเหลือด้านการเรียนรู้และการจัดหางานอย่างเข้มงวดมากกว่า 400 ชั่วโมงกับบริษัทชั้นนำ
หากคุณมีคำถามหรือความคิดเห็นเกี่ยวกับการฝากข้อมูล โปรดแบ่งปันในความคิดเห็นด้านล่าง เราชอบที่จะได้ยินจากคุณ
ตรวจสอบหลักสูตรวิศวกรรมซอฟต์แวร์อื่นๆ ของเราที่ upGrad