أوامر HBase Shell مع أمثلة
⚡ ملخص ذكي
تتيح لك أوامر HBase shell إدارة الجداول والبيانات مباشرة من موجه تفاعلي، مجمعة في أوامر عامة، وأوامر إدارة الجداول مثل الإنشاء والحذف، وأوامر معالجة البيانات مثل الإضافة والجلب، وأوامر تكرار المجموعة.

كيفية التفاعل مع HBase باستخدام أوامر Shell و Java API
بعد تثبيت HBase بنجاح على منصة Hadoop، نحصل على واجهة تفاعلية لتنفيذ أوامر متنوعة وإجراء عمليات متعددة. باستخدام هذه الأوامر، يمكننا إجراء عمليات متعددة على جداول البيانات، مما يُحسّن كفاءة تخزين البيانات ويوفر تفاعلاً مرناً للمستخدم.
يمكننا التفاعل مع HBase بطريقتين:
- وضع الصدفة التفاعلي لـ HBase، و
- عبر Java API.
في HBase، يُستخدم وضع الصدفة التفاعلي للتفاعل مع HBase لإجراء عمليات الجداول وإدارتها ونمذجة البيانات. باستخدام Java باستخدام نموذج واجهة برمجة التطبيقات (API)، يمكننا إجراء جميع أنواع عمليات الجداول والبيانات في HBase. يمكننا التفاعل مع HBase باستخدام كلتا الطريقتين. الفرق الوحيد بينهما هو أن Java تستخدم واجهة برمجة التطبيقات Java يُستخدم الكود للاتصال بـ HBase، بينما يستخدم وضع shell أوامر shell للاتصال بـ HBase.
مراجعة سريعة لـ HBase قبل المتابعة:
- يستخدم HBase Hadoop تُستخدم الملفات كنظام تخزين لحفظ كميات كبيرة من البيانات. يتكون HBase من خوادم رئيسية وخوادم إقليمية.
- ستُخزَّن البيانات في HBase على شكل مناطق. علاوة على ذلك، سيتم تقسيم هذه المناطق وتخزينها في خوادم مناطق متعددة.
- تتيح أوامر الصدفة هذه للمبرمج تحديد مخططات الجداول وعمليات البيانات باستخدام التفاعل الكامل مع وضع الصدفة.
- أيًا كان الأمر الذي نستخدمه، فسوف ينعكس ذلك في نموذج بيانات HBase.
- نستخدم أوامر HBase shell في مترجمات البرامج النصية لنظام التشغيل مثل Bash shell.
- تُعد Bash shell مترجم الأوامر الافتراضي لمعظم لينكس وتوزيعات نظام التشغيل يونكس.
- توفر الإصدارات المتقدمة من HBase أوامر shell مع مراجع كائنية التوجه على غرار JRuby للجداول.
- يمكن استخدام متغيرات مرجع الجدول لإجراء عمليات البيانات في وضع HBase shell.
فمثلا:
- في هذا البرنامج التعليمي، قمنا بإنشاء جدول حيث يمثل "education" اسم الجدول ويتوافق مع اسم العمود "guru99".
- في بعض الأوامر، يمثل "guru99" نفسه اسم جدول.
أوامر عامة
في HBase، تُصنف الأوامر العامة إلى الأوامر التالية:
- الحالة
- التجريبية
- Table_help (مسح، إسقاط، الحصول، وضع، تعطيل، وما إلى ذلك)
- من أنا
للدخول إلى أمر HBase shell، يجب علينا أولاً تنفيذ الكود كما هو مذكور أدناه.
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'
يتم عرض مخرجات الحالة أدناه:
عند تنفيذ أمر الحالة هذا، فإنه يُظهر معلومات حول عدد الخوادم العاملة، والخوادم المتوقفة، ومتوسط حمل الخادم. تُظهر لقطة الشاشة هنا معلومات مثل خادم واحد عامل، وخادم واحد متوقف، ومتوسط حمل 7.0000.
التجريبية
Syntax: version
يظهر ناتج الإصدار أدناه:
- سيعرض هذا الأمر إصدار HBase المستخدم حاليًا في وضع الأوامر.
- إذا قمت بتشغيل أمر الإصدار، فسيعطيك مخرجات كما هو موضح أعلاه.
مساعدة الجدول
Syntax:table_help
يظهر ناتج الأمر table_help أدناه:
يرشد هذا الأمر إلى:
- ما هي الأوامر المرجعية للجداول وكيفية استخدامها.
- سيوفر هذا البرنامج استخدامات مختلفة لأوامر HBase shell وصيغها.
- تُظهر لقطة الشاشة أعلاه صيغة أوامر "create" و"get_table" وكيفية استخدامها. يُمكننا تعديل الجدول باستخدام هذه الأوامر بعد إنشائه في HBase.
- سيوفر أوامر معالجة الجداول مثل put و get وجميع معلومات الأوامر الأخرى.
whoami
Syntax: Whoami
يظهر ناتج الأمر whoami أدناه:
يُستخدم الأمر "whoami" لعرض معلومات مستخدم HBase الحالي من مجموعة HBase. وسيوفر معلومات مثل:
- المجموعات الموجودة في HBase.
- معلومات المستخدم؛ على سبيل المثال، في هذه الحالة يمثل "hduser" اسم المستخدم كما هو موضح في لقطة الشاشة.
TTL (وقت العيش) - السمة
في HBase، يمكن ضبط عائلات الأعمدة على قيم زمنية بالثواني باستخدام خاصية TTL. سيقوم HBase بحذف الصفوف تلقائيًا عند انقضاء وقت انتهاء الصلاحية. تنطبق هذه الخاصية على جميع إصدارات الصف، حتى الإصدار الحالي.
يتم تحديد وقت انتهاء الصلاحية (TTL) المُشفّر في HBase للصف بتوقيت UTC. تُستخدم هذه الخاصية مع أوامر إدارة الجداول. فيما يلي أهم الفروقات بين معالجة وقت انتهاء الصلاحية (TTL) ووقت انتهاء صلاحية عائلات الأعمدة:
- يتم التعبير عن TTLs للخلية بوحدات المللي ثانية بدلاً من الثواني.
- لا يمكن لقيمة TTL للخلية أن تمدد العمر الافتراضي الفعال للخلية إلى ما بعد إعداد TTL على مستوى عائلة الأعمدة.
أوامر إدارة الجداول
ستُمكّن هذه الأوامر المبرمجين من إنشاء جداول ومخططات جداول تتضمن صفوفًا ومجموعات أعمدة. فيما يلي أوامر إدارة الجداول:
- إنشاء
- قائمة
- وصف
- تعطيل
- أوقف عمل الكل
- تفعيل
- Enable_all
- قطرة
- Drop_all
- اظهر الفلاتر
- عمر
- Alter_status
دعونا نلقي نظرة على استخدامات الأوامر المختلفة في HBase من خلال مثال.
إنشاء
Syntax: create <tablename>, <columnfamilyname>
مثال:-
hbase(main):001:0> create 'education' ,'guru99' 0 rows(s) in 0.312 seconds =>Hbase::Table – education
تظهر نتيجة أمر الإنشاء أدناه:
يوضح المثال أعلاه كيفية إنشاء جدول في HBase بالاسم المحدد وفقًا لمواصفات كل مجموعة أعمدة. بالإضافة إلى ذلك، يمكننا أيضًا تمرير بعض سمات نطاق الجدول إليه. للتحقق مما إذا كان الجدول 'education' قد تم إنشاؤه أم لا، نستخدم الأمر 'list' الموضح أدناه. انظر أيضًا إنشاء جداول HBase باستخدام Java والقشرة.
قائمة
Syntax:list
يتم عرض قائمة النتائج أدناه:
- سيعرض الأمر "list" جميع الجداول الموجودة أو التي تم إنشاؤها في HBase.
- يُظهر الناتج الموضح في لقطة الشاشة أعلاه الجداول الموجودة حاليًا في HBase.
- هنا، في لقطة الشاشة هذه، يظهر أن هناك ما مجموعه 8 جداول موجودة داخل HBase.
- يمكننا تصفية قيم الإخراج من الجداول عن طريق تمرير معلمات التعبير النمطي الاختيارية.
وصف
Syntax:describe <table name>
hbase(main):010:0>describe 'education'
يظهر ناتج الأمر describe أدناه:
يصف هذا الأمر الجدول المسمى.
- سيوفر ذلك مزيدًا من المعلومات حول عائلات الأعمدة الموجودة في الجدول المذكور.
- في حالتنا، يقدم وصفًا لجدول "التعليم".
- سيوفر معلومات حول اسم الجدول مع عائلات الأعمدة، والفلاتر المرتبطة به، والإصدارات، وبعض التفاصيل الأخرى.
تعطيل
Syntax: disable <tablename>
hbase(main):011:0>disable 'education'
يظهر أدناه ناتج التعطيل:
- سيؤدي هذا الأمر إلى تعطيل الجدول المسمى.
- إذا كانت هناك حاجة لحذف جدول أو إسقاطه، فيجب تعطيله أولاً.
هنا، في لقطة الشاشة أعلاه، نقوم بتعطيل جدول التعليم.
أوقف عمل الكل
Syntax: disable_all<"matching regex"
- سيؤدي هذا الأمر إلى تعطيل جميع الجداول المطابقة للتعبير العادي المحدد.
- التنفيذ هو نفسه تنفيذ أمر الإسقاط (باستثناء إضافة تعبير نمطي للمطابقة).
- بمجرد تعطيل الجدول، يصبح بإمكان المستخدم حذف الجدول من HBase.
- قبل الحذف أو الإسقاطping يجب تعطيل الجدول أولاً.
تفعيل
Syntax: enable <tablename>
hbase(main):012:0>enable 'education'
يظهر ناتج التفعيل أدناه:
- سيؤدي هذا الأمر إلى بدء تمكين الجدول المسمى.
- أياً كان الجدول المعطل، لاستعادته إلى حالته السابقة، نستخدم هذا الأمر.
- إذا تم تعطيل جدول في البداية ولم يتم حذفه أو إسقاطه، وإذا أردنا إعادة استخدام الجدول المعطل، فعلينا تمكينه باستخدام هذا الأمر.
- هنا، في لقطة الشاشة أعلاه، نقوم بتمكين الجدول "التعليم".
اظهر الفلاتر
Syntax: show_filters
يظهر ناتج الأمر show_filters أدناه:
يعرض هذا الأمر جميع عوامل التصفية الموجودة في HBase، مثل ColumnPrefixFilter و TimestampsFilter و PageFilter و FamilyFilter وما إلى ذلك.
قطرة
Syntax:drop <table name>
hbase(main):017:0>drop 'education'
يظهر ناتج الإسقاط أدناه:
يجب مراعاة النقاط التالية عند استخدام أمر الإسقاط:
- لحذف الجدول الموجود في HBase، يجب علينا أولاً تعطيله.
- لحذف الجدول الموجود في HBase، علينا أولاً تعطيله.
- لذا، لحذف جدول أو إسقاطه، يجب أولاً تعطيل الجدول باستخدام أمر التعطيل.
- هنا، في لقطة الشاشة أعلاه، نقوم بإسقاطping الجدول "التعليم".
- قبل تنفيذ هذا الأمر، من الضروري تعطيل جدول "التعليم".
drop_all
Syntax: drop_all<"regex">
- سيؤدي هذا الأمر إلى حذف جميع الجداول المطابقة للتعبير النمطي المحدد.
- يجب تعطيل الجداول أولاً، قبل تنفيذ هذا الأمر، باستخدام disable_all.
- سيتم حذف الجداول التي تحتوي على تعبيرات مطابقة باستخدام regex من HBase.
is_enabled
Syntax: is_enabled 'education'
سيتحقق هذا الأمر مما إذا كان الجدول المحدد مُفعّلاً أم لا. عادةً ما يكون هناك بعض الالتباس بين وظائف الأمر "enable" والأمر "is_enabled"، وسنوضح ذلك هنا:
- لنفترض أن جدولًا ما معطل؛ لاستخدام هذا الجدول، علينا تمكينه باستخدام أمر التمكين.
- سيقوم الأمر is_enabled بالتحقق مما إذا كان الجدول مفعلاً أم لا.
تغير
Syntax: alter <tablename>, NAME=><column familyname>, VERSIONS=>5
يقوم هذا الأمر بتغيير مخطط عائلة العمود. لفهم ما يفعله بالضبط، أوضحنا ذلك هنا بمثال.
أمثلة: في هذه الأمثلة، سنقوم بتنفيذ عمليات أمر التعديل على الجداول وأعمدتها. سنقوم بتنفيذ عمليات مثل:
- تغيير أسماء العائلات في الأعمدة المفردة والمتعددة.
- حذف أسماء عائلات الأعمدة من جدول.
- هناك العديد من العمليات الأخرى التي تستخدم سمات النطاق مع جدول.
لتغيير أو إضافة عائلة الأعمدة 'guru99_1' في جدول 'education' من القيمة الحالية، مع الحفاظ على حد أقصى لإصدارات الخلايا يبلغ 5. هنا، "education" هو اسم الجدول الذي تم إنشاؤه سابقًا باستخدام اسم العمود "guru99". باستخدام أمر التعديل، نحاول تغيير مخطط عائلة الأعمدة من guru99 إلى guru99_1، كما هو موضح أدناه:
hbase> alter 'education', NAME='guru99_1', VERSIONS=>5
يمكنك أيضًا تطبيق أمر التعديل على عدة مجموعات من الأعمدة. على سبيل المثال، سنُعرّف عمودين جديدين لجدولنا الحالي "التعليم"، كما هو موضح أدناه:
hbase> alter 'edu', 'guru99_1', {NAME => 'guru99_2', IN_MEMORY => true}, {NAME => 'guru99_3', VERSIONS => 5}
- يمكننا تغيير أكثر من مخطط عمود واحد في المرة الواحدة باستخدام هذا الأمر.
- guru99_2 و guru99_3، كما هو موضح في لقطة الشاشة أعلاه، هما اسما العمودين الجديدين اللذين قمنا بتعريفهما لجدول التعليم.
- يمكننا أن نرى طريقة استخدام هذا الأمر في لقطة الشاشة السابقة.
في هذه الخطوة، سنرى كيفية حذف مجموعة أعمدة من الجدول. لحذف مجموعة الأعمدة 'f1' في جدول 'education'، استخدم أحد الأوامر التالية. تظهر النتيجة في لقطة الشاشة التالية:
hbase> alter 'education', NAME => 'f1', METHOD => 'delete'
hbase> alter 'education', 'delete' =>' guru99_1'
في هذا الأمر، نحاول حذف مساحة العمود المسماة guru99_1 التي أنشأناها سابقًا في الخطوة الأولى. كما هو موضح في لقطات الشاشة أدناه، يُظهر الأمر خطوتين: كيفية تغيير سمة نطاق الجدول وكيفية إزالة سمة نطاق الجدول.
Syntax: alter <'tablename'>, MAX_FILESIZE=>'132545224'
الخطوة 1) يمكنك تغيير سمات نطاق الجدول مثل MAX_FILESIZE و READONLY و MEMSTORE_FLUSHSIZE و DEFERRED_LOG_FLUSH وما إلى ذلك. يمكن وضع هذه في النهاية؛ على سبيل المثال، لتغيير الحد الأقصى لحجم منطقة إلى 128 ميجابايت أو أي قيمة ذاكرة أخرى، نستخدم هذا الأمر.
الاستخدام:
- يمكننا استخدام MAX_FILESIZE مع الجدول كسمة نطاق، كما هو موضح أعلاه.
- الرقم المُمثل في MAX_FILESIZE هو من حيث الذاكرة بالبايت.
ملاحظة: سيتم تحديد نطاق جدول MAX_FILESIZE بواسطة بعض السمات الموجودة في HBase. يندرج MAX_FILESIZE أيضًا ضمن سمات نطاق الجدول.
الخطوة الثانية) يمكنك أيضًا إزالة سمة على مستوى الجدول باستخدام طريقة 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 أدناه:
- من خلال هذا الأمر، يمكنك الحصول على حالة أمر التغيير.
- يشير هذا إلى عدد مناطق الجدول التي تم تحديث مخططها. يجب عليك تمرير اسم الجدول.
- في لقطة الشاشة أعلاه، يظهر تحديث منطقة واحدة من أصل منطقة واحدة. هذا يعني أنه تم تحديث منطقة واحدة. بعد ذلك، إذا تمت العملية بنجاح، ستظهر رسالة "تم".
أوامر معالجة البيانات
تعمل هذه الأوامر على الجدول لمعالجة البيانات، مثل وضع البيانات في جدول، واسترجاع البيانات من جدول، وحذف المخطط، وما إلى ذلك. الأوامر التي تندرج تحت هذه الأوامر هي:
- العد التنازلي
- وضع
- احصل علي
- حذف
- حذف الكل
- بتر
- تفحص
دعونا نلقي نظرة على استخدامات هذه الأوامر من خلال مثال. انظر أيضًا قراءة وكتابة بيانات HBase.
العد التنازلي
Syntax: count <'tablename'>, CACHE =>1000
- سيسترجع هذا الأمر عدد الصفوف في الجدول. القيمة التي يُرجعها هذا الأمر هي عدد الصفوف.
- يتم عرض العدد الحالي لكل 1000 صف بشكل افتراضي.
- يمكن تحديد فاصل العد بشكل اختياري.
- حجم ذاكرة التخزين المؤقت الافتراضي هو 10 صفوف.
- سيعمل أمر العد بسرعة عند تهيئته باستخدام ذاكرة التخزين المؤقت الصحيحة.
على سبيل المثال:
hbase> count 'guru99', CACHE=>1000
يظهر ناتج العد أدناه:
في هذا المثال، يتم جلب 1000 صف في كل مرة من جدول "guru99". يمكننا تقليل حجم ذاكرة التخزين المؤقت إذا كان الجدول يحتوي على عدد أكبر من الصفوف. ولكن افتراضيًا، يتم جلب صف واحد في كل مرة.
hbase>count 'guru99', INTERVAL => 100000 hbase> count 'guru99', INTERVAL =>10, CACHE=> 1000
لنفترض أن الجدول "guru99" يحتوي على مرجع جدول، مثل g. يمكننا تشغيل أمر العد على مرجع الجدول أيضًا، كما يلي:
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". في لقطة الشاشة أدناه، نرى أن القيم قد أُدخلت بشكل صحيح.
Code مقتطف: للتدريب
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>}
هنا، يتضمن هذا الأمر متغيرات مثل النطاق الزمني، والطابع الزمني، والإصدارات، وعوامل التصفية. باستخدام هذا الأمر، ستحصل على محتوى صف أو خلية معينة في الجدول. بالإضافة إلى ذلك، يمكنك إضافة معلمات أخرى، مثل الطابع الزمني، والنطاق الزمني، والإصدارات، وعوامل التصفية، وغيرها، للحصول على محتوى صف أو خلية محددة.
يُعيد الأمر get الناتج أدناه قيم الصف r1 والعمود c1:
أمثلة:-
hbase> get 'guru99', 'r1', {COLUMN => 'c1'}
بالنسبة للجدول "guru99"، سيتم عرض قيم الصف r1 والعمود c1 باستخدام هذا الأمر، كما هو موضح في لقطة الشاشة أعلاه.
hbase> get 'guru99', 'r1'
بالنسبة للجدول "guru99"، سيتم عرض قيم الصف r1 باستخدام هذا الأمر.
hbase> get 'guru99', 'r1', {TIMERANGE => [ts1, ts2]}
بالنسبة للجدول "guru99"، سيتم عرض قيم الصف r1 في النطاق الزمني من ts1 إلى ts2 باستخدام هذا الأمر.
hbase> get 'guru99', 'r1', {COLUMN => ['c1', 'c2', 'c3']}
بالنسبة للجدول "guru99"، سيتم عرض قيم الصف r1 وعائلات الأعمدة c1 و c2 و c3 باستخدام هذا الأمر.
حذف
Syntax:delete <'tablename'>,<'row name'>,<'column name'>
- سيؤدي هذا الأمر إلى حذف قيمة الخلية في صف أو عمود محدد في الجدول.
- يجب أن تتطابق عملية الحذف تمامًا مع إحداثيات الخلية المحذوفة.
- عند المسح، تعمل عملية حذف الخلية على كبت الإصدارات القديمة من القيم.
مثال: يقوم أمر الحذف أدناه بإزالة الخلية r1، c1 من جدول guru99:
hbase(main):)020:0> delete 'guru99', 'r1', 'c1''.
- سيؤدي التنفيذ أعلاه إلى حذف الصف r1 من عائلة الأعمدة c1 في الجدول "guru99".
- لنفترض أن الجدول "guru99" يحتوي على مرجع جدول ما، مثل g.
- يمكننا تشغيل الأمر على مرجع الجدول أيضًا، مثل hbase> g.delete 'guru99', 'r1', 'c1'".
حذف الكل
Syntax: deleteall <'tablename'>, <'rowname'>
- سيؤدي هذا الأمر إلى حذف جميع الخلايا في صف معين.
- يمكننا تحديد أسماء الأعمدة والطابع الزمني في الصيغة بشكل اختياري.
مثال: - الأمر deleteall أدناه يزيل كل خلية في الصف r1:
hbase>deleteall 'guru99', 'r1', 'c1'
سيؤدي هذا إلى حذف جميع الصفوف والأعمدة الموجودة في الجدول. ويمكننا، اختيارياً، ذكر أسماء الأعمدة في ذلك.
بتر
Syntax: truncate <tablename>
يقوم أمر الحذف أدناه بإفراغ الجدول مع الاحتفاظ بـping مخططها:
بعد تنفيذ أمر حذف جميع البيانات من جدول HBase، سيظل المخطط موجودًا ولكن لن تكون السجلات موجودة. يؤدي هذا الأمر ثلاث وظائف، وهي موضحة أدناه:
- يعطل الجدول إذا كان موجودًا بالفعل.
- يقوم بحذف الجدول إذا كان موجودًا بالفعل.
- يعيد إنشاء الجدول المذكور.
تفحص
Syntax: scan <'tablename'>, {Optional parameters}
يقوم هذا الأمر بمسح الجدول بأكمله وعرض محتوياته.
- يمكننا تمرير العديد من المواصفات الاختيارية لأمر المسح هذا للحصول على مزيد من المعلومات حول الجداول الموجودة في النظام.
- قد تتضمن مواصفات الماسح الضوئي واحدة أو أكثر من السمات التالية.
- هذه هي TIMERANGE و FILTER و TIMESTAMP و LIMIT و MAXLENGTH و COLUMNS و CASH و 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 => صحيح، VERSIONS =>10} | في هذا الأمر، يوفر RAW=> true ميزة متقدمة، مثل عرض جميع قيم الخلايا الموجودة في الجدول guru99. |
Code مثال: أولاً، أنشئ جدولاً وضع القيم فيه. يظهر الإدخال في لقطة الشاشة أدناه:
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-prod |
| Remove_peer | يوقف تدفق النسخ المحدد ويحذف جميع معلومات البيانات الوصفية المتعلقة بالنظير. hbase> Remove_peer '1' |
| start_replication | يعيد تشغيل جميع ميزات النسخ المتماثل. hbase> start_replication |
| stop_replication | يوقف جميع ميزات النسخ المتماثل. hbase>stop_replication |























