คำสั่ง HBase Shell พร้อมตัวอย่าง

หลังจากติดตั้ง HBase บน Hadoop สำเร็จแล้ว เราจะได้เชลล์แบบโต้ตอบเพื่อดำเนินการคำสั่งต่างๆ และดำเนินการต่างๆ มากมาย การใช้คำสั่งเหล่านี้ทำให้เราสามารถดำเนินการต่างๆ กับตารางข้อมูลได้หลายอย่าง ซึ่งจะทำให้จัดเก็บข้อมูลได้อย่างมีประสิทธิภาพมากขึ้น และช่วยให้ไคลเอนต์โต้ตอบได้อย่างยืดหยุ่น

เราสามารถโต้ตอบกับ HBase ได้สองวิธี

  • โหมดเชลล์แบบโต้ตอบ HBase และ
  • ตลอด Java API

ใน HBase โหมดเชลล์เชิงโต้ตอบใช้เพื่อโต้ตอบกับ HBase สำหรับการดำเนินการตาราง การจัดการตาราง และการสร้างแบบจำลองข้อมูล โดยใช้ Java รูปแบบ API เราสามารถดำเนินการตารางและข้อมูลทุกประเภทใน HBase ได้ เราสามารถโต้ตอบกับ HBase ได้โดยใช้ทั้งสองวิธีนี้

ความแตกต่างเพียงอย่างเดียวระหว่างสองสิ่งนี้คือ Java API ใช้โค้ด Java เพื่อเชื่อมต่อกับ HBase และโหมดเชลล์ใช้คำสั่งเชลล์เพื่อเชื่อมต่อกับ HBase

โอเวอร์แคป HBase อย่างรวดเร็วก่อนที่เราจะดำเนินการต่อ-

  • HBase ใช้ Hadoop เป็นระบบจัดเก็บข้อมูลเพื่อจัดเก็บข้อมูลจำนวนมาก Hbase ประกอบด้วยเซิร์ฟเวอร์หลักและเซิร์ฟเวอร์ภูมิภาค
  • ข้อมูลที่จะจัดเก็บใน HBase จะอยู่ในรูปแบบของภูมิภาค นอกจากนี้ ภูมิภาคเหล่านี้จะถูกแยกและจัดเก็บไว้ในเซิร์ฟเวอร์ภูมิภาคหลายแห่ง
  • คำสั่งเชลล์นี้ช่วยให้โปรแกรมเมอร์สามารถกำหนดโครงร่างตารางและการดำเนินการข้อมูลโดยใช้การโต้ตอบโหมดเชลล์แบบสมบูรณ์
  • ไม่ว่าเราจะใช้คำสั่งใด มันก็จะสะท้อนให้เห็นในโมเดลข้อมูล HBase
  • เราใช้คำสั่งเชลล์ HBase ในอินเทอร์พรีเตอร์สคริปต์ของระบบปฏิบัติการ เช่น เชลล์ Bash
  • Bash shell เป็นล่ามคำสั่งเริ่มต้นสำหรับส่วนใหญ่ ลินุกซ์ และ ยูนิกซ์ การกระจายการดำเนินงาน
  • เวอร์ชันขั้นสูงของ HBase มีคำสั่งเชลล์สำหรับการอ้างอิงเชิงวัตถุสไตล์ jruby สำหรับตาราง
  • ตัวแปรอ้างอิงตารางสามารถใช้เพื่อดำเนินการข้อมูลในโหมดเชลล์ HBase

ตัวอย่าง,

  • ในบทช่วยสอนนี้ เราได้สร้างตารางที่ 'การศึกษา' แสดงถึงชื่อตารางและสอดคล้องกับชื่อคอลัมน์ “guru99”
  • ในบางคำสั่ง “guru99” เองใช้แทนชื่อตาราง

คำสั่งทั่วไป

ใน Hbase คำสั่งทั่วไปจะถูกจัดประเภทเป็นคำสั่งต่อไปนี้

  • สถานะ
  • เวอร์ชั่น
  • Table_help ( สแกน วาง รับ วาง ปิดการใช้งาน ฯลฯ )
  • ฉันเป็นใคร

ในการเข้าสู่คำสั่งเชลล์ HBase ก่อนอื่นเราต้องรันโค้ดตามที่ระบุไว้ด้านล่าง

คำสั่งทั่วไป

hbase Shell

เมื่อเราเข้าสู่เชลล์ HBase แล้ว เราก็สามารถดำเนินการคำสั่งเชลล์ทั้งหมดที่กล่าวถึงด้านล่างนี้ได้ ด้วยความช่วยเหลือของคำสั่งเหล่านี้ เราสามารถดำเนินการกับตารางทุกประเภทในโหมดเชลล์ HBase ได้

ให้เราดูคำสั่งเหล่านี้ทั้งหมดและการใช้งานทีละคำสั่งพร้อมตัวอย่าง

สถานะ

Syntax:status

คำสั่งนี้จะให้รายละเอียดเกี่ยวกับสถานะของระบบ เช่น จำนวนเซิร์ฟเวอร์ที่อยู่ในคลัสเตอร์ จำนวนเซิร์ฟเวอร์ที่ใช้งาน และค่าโหลดเฉลี่ย นอกจากนี้ คุณยังสามารถส่งพารามิเตอร์เฉพาะใดๆ ก็ได้ ขึ้นอยู่กับว่าคุณต้องการทราบสถานะโดยละเอียดเกี่ยวกับระบบมากเพียงใด พารามิเตอร์สามารถเป็นดังนี้: 'สรุป', 'ง่าย' หรือ 'รายละเอียด'พารามิเตอร์เริ่มต้นที่ให้ไว้คือ "สรุป"

ด้านล่างนี้เราได้แสดงวิธีที่คุณสามารถส่งผ่านพารามิเตอร์ต่างๆ ไปยังคำสั่งสถานะได้

หากเราสังเกตภาพหน้าจอด้านล่าง เราจะได้แนวคิดที่ดีขึ้น

สถานะ

hbase(main):001:0>status
hbase(main):002:0>status 'simple'
hbase(main):003:0>status 'summary'
hbase(main):004:0> status 'detailed'

เมื่อเราดำเนินการตามสถานะคำสั่งนี้ มันจะให้ข้อมูลเกี่ยวกับจำนวนเซิร์ฟเวอร์ที่มีอยู่ เซิร์ฟเวอร์ที่ไม่ทำงาน และการโหลดเซิร์ฟเวอร์โดยเฉลี่ย ในภาพหน้าจอจะแสดงข้อมูลเช่น- เซิร์ฟเวอร์ที่ใช้งานจริง 1 เครื่อง เซิร์ฟเวอร์ที่ใช้งานไม่ได้ 1 เครื่อง และโหลดโดยเฉลี่ย 7.0000

เวอร์ชั่น

Syntax: version

เวอร์ชั่น

  • คำสั่งนี้จะแสดงเวอร์ชัน HBase ที่ใช้อยู่ในปัจจุบันในโหมดคำสั่ง
  • หากคุณรันคำสั่ง version มันจะให้ผลลัพธ์ดังที่แสดงด้านบน

ช่วยตาราง

Syntax:table_help

วิธีใช้ตาราง

คำสั่งนี้จะแนะนำ

  • อะไรและวิธีการใช้คำสั่งอ้างอิงตาราง
  • มันจะจัดเตรียมการใช้งานคำสั่งเชลล์ HBase ที่แตกต่างกันและไวยากรณ์ของมัน
  • ในภาพหน้าจอด้านบนนี้ มันแสดงไวยากรณ์เป็น “สร้าง" และ "get_table” คำสั่งพร้อมการใช้งาน เราสามารถจัดการตารางผ่านคำสั่งเหล่านี้ได้เมื่อสร้างตารางใน HBase
  • มันจะให้คำสั่งการจัดการตาราง เช่น ใส่ รับ และข้อมูลคำสั่งอื่นๆ ทั้งหมด

whoami

ไวยากรณ์:

Syntax: Whoami

ฉันเป็นใคร

คำสั่ง "whoami" นี้ใช้เพื่อส่งคืนข้อมูลผู้ใช้ HBase ปัจจุบันจากคลัสเตอร์ HBase

มันจะให้ข้อมูลเช่น

  • กลุ่มที่มีอยู่ใน HBase
  • ข้อมูลผู้ใช้ เช่น ในกรณีนี้ “hduser” แสดงถึงชื่อผู้ใช้ตามที่แสดงในภาพหน้าจอ

TTL(Time To Live) – คุณสมบัติ

ใน HBase ตระกูลคอลัมน์สามารถตั้งค่าเวลาเป็นวินาทีได้โดยใช้ TTL HBase จะลบแถวโดยอัตโนมัติเมื่อถึงเวลาหมดอายุ คุณลักษณะนี้ใช้กับทุกเวอร์ชันของแถว แม้แต่เวอร์ชันปัจจุบันด้วย

เวลา TTL ที่เข้ารหัสใน HBase สำหรับแถวระบุเป็น UTC คุณลักษณะนี้ใช้กับคำสั่งการจัดการตาราง

ความแตกต่างที่สำคัญระหว่างการจัดการ TTL และ TTL ตระกูลคอลัมน์มีดังต่อไปนี้

  • TTL ของเซลล์จะแสดงเป็นหน่วยมิลลิวินาทีแทนที่จะเป็นวินาที
  • TTL ของเซลล์ไม่สามารถยืดอายุการใช้งานที่มีประสิทธิภาพของเซลล์เกินกว่าการตั้งค่า TTL ระดับตระกูลคอลัมน์ได้

คำสั่งการจัดการตาราง

คำสั่งเหล่านี้จะช่วยให้โปรแกรมเมอร์สามารถสร้างตารางและสคีมาตารางด้วยตระกูลแถวและคอลัมน์

ต่อไปนี้เป็นคำสั่งการจัดการตาราง

  • สร้างบัญชีตัวแทน
  • รายการ
  • บรรยาย
  • ปิดการใช้งาน
  • ปิดการใช้งาน_ทั้งหมด
  • ทำให้สามารถ
  • Enable_all
  • หล่น
  • ดรอป_ทั้งหมด
  • แสดง_ตัวกรอง
  • เปลี่ยนแปลง
  • เปลี่ยนสถานะ

ให้เราดูการใช้คำสั่งต่างๆ ใน ​​HBase พร้อมตัวอย่าง

สร้างบัญชีตัวแทน

Syntax: create <tablename>, <columnfamilyname>

คำสั่งการจัดการตาราง: สร้าง

ตัวอย่าง:-

hbase(main):001:0> create 'education' ,'guru99'
0 rows(s) in 0.312 seconds
=>Hbase::Table – education

ตัวอย่างข้างต้นอธิบายวิธีการสร้างตารางใน HBase ด้วยชื่อที่ระบุตามพจนานุกรมหรือข้อกำหนดตามตระกูลคอลัมน์ นอกจากนี้เรายังสามารถส่งแอตทริบิวต์ขอบเขตตารางบางส่วนได้เช่นกัน

เพื่อตรวจสอบว่าตาราง 'การศึกษา' ถูกสร้างขึ้นหรือไม่ เราต้องใช้ "รายการ" คำสั่งดังข้างล่างนี้

รายการ

Syntax:list

คำสั่งการจัดการตาราง: รายการ

  • คำสั่ง “List” จะแสดงตารางทั้งหมดที่มีอยู่หรือสร้างขึ้นใน HBase
  • ผลลัพธ์ที่แสดงในภาพหน้าจอด้านบนนี้กำลังแสดงตารางที่มีอยู่ใน HBase
  • ในภาพหน้าจอนี้ แสดงให้เห็นว่ามีตารางทั้งหมด 8 ตารางอยู่ภายใน HBase
  • เราสามารถกรองค่าเอาต์พุตจากตารางได้โดยการส่งพารามิเตอร์นิพจน์ทั่วไปที่เป็นทางเลือก

บรรยาย

Syntax:describe <table name>

คำสั่งการจัดการตาราง : อธิบาย

hbase(main):010:0>describe 'education'

คำสั่งนี้อธิบายตารางที่มีชื่อ

  • จะให้ข้อมูลเพิ่มเติมเกี่ยวกับตระกูลคอลัมน์ที่มีอยู่ในตารางดังกล่าว
  • ในกรณีของเรา ให้คำอธิบายเกี่ยวกับตาราง “การศึกษา”
  • จะให้ข้อมูลเกี่ยวกับชื่อตารางพร้อมกับกลุ่มคอลัมน์ ตัวกรองที่เกี่ยวข้อง เวอร์ชัน และรายละเอียดอื่นๆ เพิ่มเติม

ปิดการใช้งาน

Syntax: disable <tablename>

คำสั่งการจัดการตาราง: ปิดการใช้งาน

hbase(main):011:0>disable 'education'
  • คำสั่งนี้จะเริ่มปิดการใช้งานตารางที่มีชื่อ
  • หากจำเป็นต้องลบหรือทิ้งตาราง จะต้องปิดการใช้งานก่อน

ในภาพหน้าจอด้านบนนี้ เรากำลังปิดการใช้งานการศึกษาตาราง

ปิดการใช้งาน_ทั้งหมด

 Syntax: disable_all<"matching regex"
  • คำสั่งนี้จะปิดการใช้งานตารางทั้งหมดที่ตรงกับ regex ที่กำหนด
  • การใช้งานเหมือนกับคำสั่งลบ (ยกเว้นการเพิ่ม regex สำหรับการจับคู่)
  • เมื่อตารางถูกปิดใช้งานผู้ใช้สามารถลบตารางออกจาก HBase ได้
  • ก่อนที่จะลบหรือวางตาราง ควรปิดการใช้งานก่อน

ทำให้สามารถ

Syntax: enable <tablename>

คำสั่งการจัดการตาราง: เปิดใช้งาน

hbase(main):012:0>enable 'education'
  • คำสั่งนี้จะเริ่มเปิดใช้งานตารางที่มีชื่อ
  • ไม่ว่าตารางใดจะถูกปิดใช้งาน เพื่อดึงกลับไปสู่สถานะก่อนหน้า เราใช้คำสั่งนี้
  • หากตารางถูกปิดใช้งานในอินสแตนซ์แรกและไม่ถูกลบหรือทิ้ง และหากเราต้องการนำตารางที่ปิดใช้งานกลับมาใช้ใหม่ เราจะต้องเปิดใช้งานโดยใช้คำสั่งนี้
  • ในภาพหน้าจอด้านบนนี้ เรากำลังเปิดใช้งานตาราง “การศึกษา”

show_filters

Syntax: show_filters

คำสั่งการจัดการตาราง: show_filters

คำสั่งนี้แสดงตัวกรองทั้งหมดที่มีอยู่ใน HBase เช่น ColumnPrefix Filter, TimestampsFilter, PageFilter, FamilyFilter เป็นต้น

หล่น

Syntax:drop <table name>

คำสั่งการจัดการตาราง: วาง

hbase(main):017:0>drop 'education'

เราต้องสังเกตจุดด้านล่างสำหรับคำสั่ง drop

  • หากต้องการลบตารางที่มีอยู่ใน HBase ก่อนอื่นเราต้องปิดการใช้งานก่อน
  • หากต้องการวางตารางใน HBase ก่อนอื่นเราต้องปิดการใช้งานก่อน
  • ดังนั้นตารางที่จะดรอปหรือลบก่อน ควรปิดการใช้งานตารางโดยใช้คำสั่งปิดการใช้งาน
  • ในภาพหน้าจอด้านบนนี้ เรากำลังทิ้งตาราง "การศึกษา"
  • ก่อนที่จะดำเนินการคำสั่งนี้ จำเป็นต้องปิดการใช้งานตาราง “การศึกษา”

drop_all

Syntax: drop_all<"regex">
  • คำสั่งนี้จะปล่อยตารางทั้งหมดที่ตรงกับ regex ที่กำหนด
  • ตารางจะต้องปิดการใช้งานก่อนจึงจะรันคำสั่งนี้โดยใช้disable_all
  • ตารางที่มีนิพจน์การจับคู่ regex จะลดลงจาก HBase

เปิดใช้งาน

Syntax: is_enabled 'education'

คำสั่งนี้จะตรวจสอบว่าตารางที่มีชื่อเปิดใช้งานอยู่หรือไม่ โดยปกติแล้ว มีความสับสนเล็กน้อยระหว่างการดำเนินการคำสั่ง "enable" และ "is_enabled" ซึ่งเราระบุไว้ที่นี่

  • สมมติว่าตารางถูกปิดใช้งาน หากต้องการใช้ตารางนั้น เราต้องเปิดใช้งานโดยใช้คำสั่งเปิดใช้งาน
  • คำสั่ง is_enabled จะตรวจสอบว่าตารางเปิดใช้งานอยู่หรือไม่

เปลี่ยนแปลง

Syntax: alter <tablename>, NAME=><column familyname>, VERSIONS=>5

คำสั่งนี้จะเปลี่ยนสกีมาตระกูลคอลัมน์ เพื่อให้เข้าใจอย่างชัดเจนว่ามันทำอะไร เราได้อธิบายไว้ที่นี่พร้อมตัวอย่าง

ตัวอย่าง:

ในตัวอย่างนี้ เราจะดำเนินการคำสั่ง alter กับตารางและคอลัมน์ เราจะดำเนินการเช่น

  • การเปลี่ยนชื่อตระกูลคอลัมน์เดียวและหลายคอลัมน์
  • การลบชื่อคอลัมน์ออกจากตาราง
  • การดำเนินการอื่น ๆ อีกหลายรายการโดยใช้แอตทริบิวต์ขอบเขตพร้อมตาราง
  1. หากต้องการเปลี่ยนหรือเพิ่มตระกูลคอลัมน์ 'guru99_1' ในตาราง 'การศึกษา' จากค่าปัจจุบันเพื่อคงไว้สูงสุด 5 เซลล์ VERSIONS,
  • “การศึกษา” คือชื่อตารางที่สร้างด้วยชื่อคอลัมน์ “guru99” ก่อนหน้านี้
  • ด้วยความช่วยเหลือของคำสั่ง alter เรากำลังพยายามเปลี่ยนสคีมาตระกูลคอลัมน์เป็น guru99_1 จาก guru99

คำสั่งการจัดการตาราง: Alter

hbase> alter 'education', NAME='guru99_1', VERSIONS=>5
  1. คุณสามารถใช้งานคำสั่ง alter กับกลุ่มคอลัมน์หลายกลุ่มได้เช่นกัน ตัวอย่างเช่น เราจะกำหนดคอลัมน์ใหม่สองคอลัมน์ให้กับตาราง “education” ที่มีอยู่ของเรา
 hbase> alter 'edu', 'guru99_1', {NAME => 'guru99_2', IN_MEMORY => true}, {NAME => 'guru99_3', VERSIONS => 5}

คำสั่งการจัดการตาราง: Alter

  • เราสามารถเปลี่ยนสคีมาคอลัมน์ได้มากกว่าหนึ่งคอลัมน์ในแต่ละครั้งโดยใช้คำสั่งนี้
  • guru99_2 และ guru99_3 ดังที่แสดงในภาพหน้าจอด้านบนคือชื่อคอลัมน์ใหม่สองชื่อที่เรากำหนดไว้สำหรับการศึกษาตาราง
  • เราสามารถเห็นวิธีการใช้คำสั่งนี้ได้ในภาพหน้าจอก่อนหน้า
  1. ในขั้นตอนนี้ เราจะดูวิธีลบตระกูลคอลัมน์ออกจากตาราง หากต้องการลบตระกูลคอลัมน์ 'f1' ในตาราง 'การศึกษา'

ใช้คำสั่งใดคำสั่งหนึ่งด้านล่างนี้

hbase> alter 'education', NAME => 'f1', METHOD => 'delete'
hbase> alter 'education', 'delete' =>' guru99_1'
  • ในคำสั่งนี้ เรากำลังพยายามลบชื่อพื้นที่คอลัมน์ guru99_1 ที่เราสร้างไว้ก่อนหน้านี้ในขั้นตอนแรก

คำสั่งการจัดการตาราง: Alter

  1. ดังที่แสดงในภาพหน้าจอด้านล่าง จะแสดงสองขั้นตอน – วิธีเปลี่ยนแอตทริบิวต์ขอบเขตของตาราง และวิธีลบแอตทริบิวต์ขอบเขตของตาราง
Syntax: alter <'tablename'>, MAX_FILESIZE=>'132545224'

คำสั่งการจัดการตาราง: Alter

ขั้นตอน 1) คุณสามารถเปลี่ยนแอตทริบิวต์ขอบเขตตาราง เช่น MAX_FILESIZE, READONLY, MEMSTORE_FLUSHSIZE, DEFERRED_LOG_FLUSH ฯลฯ โดยสามารถใส่ไว้ท้ายสุดได้ ตัวอย่างเช่น หากต้องการเปลี่ยนขนาดสูงสุดของขอบเขตเป็น 128MB หรือค่าหน่วยความจำอื่นใดที่เราใช้คำสั่งนี้

การใช้งาน:

  • เราสามารถใช้ MAX_FILESIZE กับตารางเป็นแอตทริบิวต์ขอบเขตดังที่กล่าวข้างต้น
  • ตัวเลขที่แสดงใน MAX_FILESIZE อยู่ในรูปของหน่วยความจำเป็นไบต์

Nโอที: ขอบเขตตารางแอตทริบิวต์ MAX_FILESIZE จะถูกกำหนดโดยคุณลักษณะบางอย่างที่มีอยู่ใน HBase MAX_FILESIZE ยังอยู่ภายใต้แอตทริบิวต์ขอบเขตของตารางด้วย

ขั้นตอน 2) คุณยังสามารถลบแอตทริบิวต์ขอบเขตตารางได้โดยใช้วิธี table_att_unset ถ้าเห็นคำสั่ง.

alter 'education', METHOD => 'table_att_unset', NAME => 'MAX_FILESIZE'
  • ภาพหน้าจอด้านบนแสดงชื่อตารางที่เปลี่ยนแปลงพร้อมแอตทริบิวต์ขอบเขต
  • เมธอด table_att_unset ใช้เพื่อยกเลิกการตั้งค่าแอตทริบิวต์ที่มีอยู่ในตาราง
  • อินสแตนซ์ที่สอง เรากำลังยกเลิกการตั้งค่าแอตทริบิวต์ MAX_FILESIZE
  • หลังจากดำเนินการคำสั่ง มันจะยกเลิกการตั้งค่าแอตทริบิวต์ MAX_FILESIZE จากตาราง "การศึกษา"

alter_status

 Syntax: alter_status 'education'

คำสั่งการจัดการตาราง: alter_status

  • ด้วยคำสั่งนี้ คุณสามารถรับสถานะของคำสั่งแก้ไขได้
  • ซึ่งระบุจำนวนภูมิภาคของตารางที่ได้รับชื่อตารางสคีมาพาสที่อัปเดตแล้ว
  • ในภาพหน้าจอด้านบนนี้แสดงว่ามีการอัปเดต 1/1 ภูมิภาค หมายความว่ามีการอัปเดตหนึ่งภูมิภาค หลังจากนั้นหากสำเร็จก็จะแสดงความเห็นว่าเสร็จสิ้น

คำสั่งการจัดการข้อมูล

คำสั่งเหล่านี้จะทำงานบนตารางที่เกี่ยวข้องกับการจัดการข้อมูล เช่น การใส่ข้อมูลลงในตาราง การดึงข้อมูลจากตาราง และการลบสคีมา เป็นต้น

คำสั่งที่อยู่ภายใต้สิ่งเหล่านี้คือ

  • นับ
  • ใส่
  • เข้ามา
  • ลบ
  • ลบทั้งหมด
  • ตัด
  • สแกน

ลองดูการใช้งานคำสั่งเหล่านี้พร้อมตัวอย่าง

นับ

Syntax: count <'tablename'>, CACHE =>1000
  • คำสั่งจะดึงข้อมูลจำนวนแถวในตาราง ค่าที่ส่งคืนโดยค่านี้คือจำนวนแถว
  • จำนวนปัจจุบันจะแสดงต่อทุกๆ 1000 แถวโดยค่าเริ่มต้น
  • ช่วงเวลาการนับอาจระบุหรือไม่ก็ได้
  • ขนาดแคชเริ่มต้นคือ 10 แถว
  • คำสั่ง Count จะทำงานได้อย่างรวดเร็วเมื่อกำหนดค่าด้วยแคชที่ถูกต้อง

ตัวอย่าง:

นับ

hbase> count 'guru99', CACHE=>1000

ตัวอย่างนี้นับดึงข้อมูลครั้งละ 1000 แถวจากตาราง "Guru99"

เราสามารถสร้างแคชให้มีค่าน้อยลงได้หากตารางประกอบด้วยแถวมากขึ้น

แต่โดยค่าเริ่มต้น มันจะดึงข้อมูลทีละแถว

hbase>count 'guru99', INTERVAL => 100000
hbase> count 'guru99', INTERVAL =>10, CACHE=> 1000

หากสมมุติว่าตาราง “Guru99” มีการอ้างอิงตารางบางอย่าง เช่น พูด g

เราสามารถรันคำสั่ง count บนการอ้างอิงตารางได้เหมือนด้านล่าง

hbase>g.count INTERVAL=>100000
hbase>g.count INTERVAL=>10, CACHE=>1000

ใส่

Syntax:  put <'tablename'>,<'rowname'>,<'columnvalue'>,<'value'>

คำสั่งนี้ใช้สำหรับสิ่งต่อไปนี้

  • มันจะใส่ 'ค่า' ของเซลล์ไว้ที่ตารางหรือแถวหรือคอลัมน์ที่กำหนดหรือระบุ
  • มันจะเลือกประสานการประทับเวลา

ตัวอย่าง:

  • ที่นี่เรากำลังวางค่าลงในตาราง “guru99” ใต้แถว r1 และคอลัมน์ c1
    hbase> put 'guru99', 'r1', 'c1', 'value', 10
  • เราได้วางค่าสามค่า 10,15 และ 30 ไว้ในตาราง “guru99” ดังที่แสดงในภาพหน้าจอด้านล่าง

ใส่

  • สมมุติว่าถ้าตาราง “Guru99” มีตารางอ้างอิงเช่นว่า g นอกจากนี้เรายังสามารถรันคำสั่งบนการอ้างอิงตารางได้เช่นกัน
    hbase> g.put 'guru99', 'r1', 'c1', 'value', 10
  • ผลลัพธ์จะเป็นดังที่แสดงในภาพหน้าจอด้านบนหลังจากวางค่าลงใน “guru99”

เพื่อตรวจสอบว่าค่าอินพุตถูกแทรกลงในตารางอย่างถูกต้องหรือไม่ เราใช้คำสั่ง “scan” ในภาพหน้าจอด้านล่าง เราจะเห็นว่ามีการแทรกค่าอย่างถูกต้อง

ใส่

ข้อมูลโค้ด: เพื่อการปฏิบัติ

create 'guru99', {NAME=>'Edu', VERSIONS=>213423443}
put 'guru99', 'r1', 'Edu:c1', 'value', 10
put 'guru99', 'r1', 'Edu:c1', 'value', 15
put 'guru99', 'r1', 'Edu:c1', 'value', 30

จากข้อมูลโค้ด เรากำลังทำสิ่งเหล่านี้

  • ที่นี่เรากำลังสร้างตารางชื่อ 'guru99' โดยมีชื่อคอลัมน์เป็น "Edu"
  • เมื่อใช้คำสั่ง "put" เรากำลังวางค่าลงในชื่อแถว r1 ในคอลัมน์ "Edu" ลงในตาราง "guru99"

เข้ามา

Syntax: get <'tablename'>, <'rowname'>, {< Additional parameters>}

ที่นี่ รวมถึง TIMERANGE, TIMESTAMP, VERSIONS และ FILTERS

เมื่อใช้คำสั่งนี้ คุณจะได้รับเนื้อหาแถวหรือเซลล์ในตาราง นอกจากนั้น คุณยังสามารถเพิ่มพารามิเตอร์เพิ่มเติมได้ เช่น TIMESTAMP, TIMERANGE,VERSIONS, FILTERS เป็นต้น เพื่อรับเนื้อหาแถวหรือเซลล์ที่ต้องการ

เข้ามา

ตัวอย่าง:-

hbase> get 'guru99', 'r1', {COLUMN => 'c1'}

สำหรับตาราง “guru99′ ค่าแถว r1 และคอลัมน์ c1 จะแสดงโดยใช้คำสั่งนี้ดังที่แสดงในภาพหน้าจอด้านบน

hbase> get 'guru99', 'r1'

สำหรับตาราง “guru99″ แถว r1 จะแสดงค่าโดยใช้คำสั่งนี้

hbase> get 'guru99', 'r1', {TIMERANGE => [ts1, ts2]}

สำหรับตาราง “guru99” แถวที่ 1 ในช่วงเวลา ts1 และ ts2 จะแสดงโดยใช้คำสั่งนี้

hbase> get 'guru99', 'r1', {COLUMN => ['c1', 'c2', 'c3']}

สำหรับตาราง “guru99” แถว r1 และคอลัมน์ตระกูล c1, c2, c3 จะแสดงโดยใช้คำสั่งนี้

ลบ

Syntax:delete <'tablename'>,<'row name'>,<'column name'>
  • คำสั่งนี้จะลบค่าของเซลล์ในตารางแถวหรือคอลัมน์ที่กำหนด
  • ลบต้องและควรตรงกับพิกัดเซลล์ที่ถูกลบทุกประการ
  • เมื่อทำการสแกน ลบเซลล์จะระงับค่าเวอร์ชันเก่า

ลบ

ตัวอย่าง:

hbase(main):)020:0> delete 'guru99', 'r1', 'c1''.
  • การดำเนินการข้างต้นจะลบแถว r1 ออกจากตระกูลคอลัมน์ c1 ในตาราง “guru99”
  • สมมติว่าตาราง “guru99” มีการอ้างอิงตารางเช่นว่า g
  • เราสามารถรันคำสั่งบนตารางอ้างอิงได้เช่นกัน ฐาน> g.delete 'guru99', 'r1', 'c1'”

ลบทั้งหมด

Syntax: deleteall <'tablename'>, <'rowname'>

ลบทั้งหมด

  • คำสั่งนี้จะลบเซลล์ทั้งหมดในแถวที่กำหนด
  • เราสามารถกำหนดชื่อคอลัมน์และการประทับเวลาให้กับไวยากรณ์ได้

ตัวอย่าง:-

hbase>deleteall 'guru99', 'r1', 'c1'

การดำเนินการนี้จะลบแถวและคอลัมน์ทั้งหมดที่มีอยู่ในตาราง อีกทางหนึ่งเราสามารถพูดถึงชื่อคอลัมน์ในนั้นได้

ตัด

Syntax:  truncate <tablename>

ตัด

หลังจากตัดทอนตาราง hbase แล้ว สคีมาจะแสดงแต่ไม่มีบันทึก คำสั่งนี้ทำหน้าที่ 3 อย่าง; ดังรายการด้านล่าง

  • ปิดการใช้งานตารางหากมีอยู่แล้ว
  • วางตารางหากมีอยู่แล้ว
  • สร้างตารางที่กล่าวถึงอีกครั้ง

สแกน

Syntax: scan <'tablename'>, {Optional parameters}

คำสั่งนี้จะสแกนทั้งตารางและแสดงเนื้อหาตาราง

  • เราสามารถส่งข้อกำหนดเพิ่มเติมหลายรายการไปยังคำสั่งสแกนนี้เพื่อรับข้อมูลเพิ่มเติมเกี่ยวกับตารางที่มีอยู่ในระบบ
  • ข้อมูลจำเพาะของเครื่องสแกนอาจรวมถึงคุณลักษณะต่อไปนี้หนึ่งรายการหรือมากกว่าหนึ่งรายการ
  • สิ่งเหล่านี้คือ TIMERANGE, FILTER, TIMESTAMP, LIMIT, MAXLENGTH, COLUMNS, CACHE, STARTROW และ STOPROW
scan 'guru99'

ผลลัพธ์ตามที่แสดงในภาพหน้าจอด้านล่าง

สแกน

ในภาพหน้าจอด้านบน

  • มันแสดงตาราง “guru99” พร้อมชื่อคอลัมน์และค่าต่างๆ
  • ประกอบด้วยค่าสามแถว r1, r2, r3 สำหรับค่าคอลัมน์เดียว c1
  • จะแสดงค่าที่เกี่ยวข้องกับแถว

ตัวอย่าง:-

การใช้งานคำสั่งสแกนแบบต่างๆ

คำสั่ง การใช้
สแกน '.META.', {COLUMNS => 'info:regioninfo'} โดยจะแสดงข้อมูลเมตาดาต้าทั้งหมดที่เกี่ยวข้องกับคอลัมน์ที่มีอยู่ในตารางใน HBase
สแกน 'guru99', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'} มันแสดงเนื้อหาของตาราง guru99 โดยมีตระกูลคอลัมน์ c1 และ c2 จำกัดค่าไว้ที่ 10
สแกน 'guru99', {COLUMNS => 'c1', TIMERANGE => [1303668804, 1303668904]} มันแสดงเนื้อหาของ guru99 พร้อมชื่อคอลัมน์ c1 พร้อมค่าที่อยู่ระหว่างค่าแอตทริบิวต์ช่วงเวลาดังกล่าว
สแกน 'guru99', {RAW => true, VERSIONS =>10} ในคำสั่งนี้ RAW=> true มีคุณสมบัติขั้นสูงเช่นการแสดงค่าเซลล์ทั้งหมดที่มีอยู่ในตาราง guru99

ตัวอย่างรหัส:

ขั้นแรกให้สร้างตารางและวางค่าลงในตาราง

create 'guru99', {NAME=>'e', VERSIONS=>2147483647}
put 'guru99', 'r1', 'e:c1', 'value', 10
put 'guru99', 'r1', 'e:c1', 'value', 12
put 'guru99', 'r1', 'e:c1', 'value', 14
delete 'guru99', 'r1', 'e:c1', 11

ภาพหน้าจอการป้อนข้อมูล:

ตัวอย่างการสแกน

หากเรารันคำสั่งสแกน

Query: scan 'guru99', {RAW=>true, VERSIONS=>1000}

มันจะแสดงผลออกมาดังภาพด้านล่าง

ภาพหน้าจอเอาต์พุต:

ตัวอย่างการสแกน

ผลลัพธ์ที่แสดงในภาพหน้าจอด้านบนให้ข้อมูลต่อไปนี้

  • กำลังสแกนตาราง guru99 ด้วยแอตทริบิวต์ RAW=>true, VERSIONS=>1000
  • การแสดงแถวที่มีตระกูลคอลัมน์และค่า
  • ในแถวที่สาม ค่าที่แสดงจะแสดงค่าที่ถูกลบที่มีอยู่ในคอลัมน์
  • ผลลัพธ์ที่แสดงออกมานั้นเป็นแบบสุ่ม ไม่สามารถเรียงลำดับเหมือนกับค่าที่เราใส่ไว้ในตารางได้

Cluster คำสั่งการจำลองแบบ

  • คำสั่งเหล่านี้ทำงานในโหมดการตั้งค่าคลัสเตอร์ของ HBase
  • คำสั่งเหล่านี้ใช้สำหรับการเพิ่มและลบเพียร์ในคลัสเตอร์ และเพื่อเริ่มและหยุดการจำลองแบบโดยทั่วไป
คำสั่ง ฟังก์ชั่น
add_peer เพิ่มเพียร์เข้าในคลัสเตอร์เพื่อจำลอง

hbase> add_peer '3', zk1,zk2,zk3:2182:/hbase-แยง

Remove_peer หยุดสตรีมการจำลองแบบที่กำหนดไว้

ลบข้อมูลเมตาดาต้าทั้งหมดเกี่ยวกับเพียร์

hbase> Remove_peer '1'

start_replication รีสตาร์ทคุณลักษณะการจำลองทั้งหมด

hbase> start_replication

stop_replication หยุดคุณลักษณะการจำลองแบบทั้งหมด

hbase>stop_replication

สรุป

คำสั่งเชลล์และคำสั่งทั่วไปของ HBase ให้ข้อมูลครบถ้วนเกี่ยวกับการจัดการข้อมูลประเภทต่างๆ การจัดการตาราง และคำสั่งการจำลองคลัสเตอร์ เราสามารถดำเนินการต่างๆ ได้โดยใช้คำสั่งเหล่านี้กับตารางที่มีอยู่ใน HBase