مشاركة عبر


التشغيل السريع: الاستعلام عن Apache HBase في Azure HDInsight باستخدام Apache Phoenix

في هذا التشغيل السريع، تتعلم كيفية استخدام Apache Phoenix لتشغيل استعلامات HBase في Azure HDInsight. Apache Phoenix هو محرك استعلام SQL ل Apache HBase. يتم الوصول إليه كبرنامج تشغيل JDBC ، ويتيح الاستعلام عن جداول HBase وإدارتها باستخدام SQL. SQLLine هي أداة مساعدة لسطر الأوامر لتنفيذ SQL.

في حال لم يكن لديك اشتراك Azure، فأنشئ حساباً مجانيّاً قبل البدء.

Prerequisites

تحديد عقدة ZooKeeper

عند الاتصال بمجموعة HBase، تحتاج إلى الاتصال بإحدى عقد Apache ZooKeeper. تحتوي كل مجموعة HDInsight على ثلاث عقد ZooKeeper. يمكن استخدام Curl لتحديد عقدة ZooKeeper بسرعة. قم بتحرير الأمر curl أدناه عن طريق استبدال PASSWORD القيم ذات الصلة وبها CLUSTERNAME ، ثم أدخل الأمر في موجه الأوامر:

curl -u admin:PASSWORD -sS -G https://CLUSTERNAME.azurehdinsight.net/api/v1/clusters/CLUSTERNAME/services/ZOOKEEPER/components/ZOOKEEPER_SERVER

سيبدو جزء من الإخراج مشابها لما يلي:

    {
      "href" : "http://hn*.432dc3rlshou3ocf251eycoapa.bx.internal.cloudapp.net:8080/api/v1/clusters/myCluster/hosts/<zookeepername1>.432dc3rlshou3ocf251eycoapa.bx.internal.cloudapp.net/host_components/ZOOKEEPER_SERVER",
      "HostRoles" : {
        "cluster_name" : "myCluster",
        "component_name" : "ZOOKEEPER_SERVER",
        "host_name" : "<zookeepername1>.432dc3rlshou3ocf251eycoapa.bx.internal.cloudapp.net"
      }

لاحظ القيمة للاستخدام host_name لاحقا.

إنشاء جدول ومعالجة البيانات

يمكنك استخدام SSH للاتصال بمجموعات HBase، ثم استخدام Apache Phoenix لإنشاء جداول HBase وإدراج البيانات وبيانات الاستعلام.

  1. استخدم ssh الأمر للاتصال بنظام مجموعة HBase الخاص بك. قم بتحرير الأمر أدناه عن طريق الاستبدال CLUSTERNAME باسم نظام المجموعة الخاص بك، ثم أدخل الأمر:

    ssh sshuser@CLUSTERNAME-ssh.azurehdinsight.net
    
  2. قم بتغيير الدليل إلى عميل Phoenix. أدخل الأمر التالي:

    cd /usr/hdp/current/phoenix-client/bin
    
  3. قم بتشغيل SQLLine. قم بتحرير الأمر أدناه عن طريق الاستبدال ZOOKEEPER بعقدة ZooKeeper التي تم تحديدها مسبقا، ثم أدخل الأمر:

    ./sqlline.py ZOOKEEPER:2181:/hbase-unsecure
    
  4. قم بإنشاء جدول HBase. أدخل الأمر التالي:

    CREATE TABLE Company (company_id INTEGER PRIMARY KEY, name VARCHAR(225));
    
  5. استخدم الأمر SQLLine !tables لسرد كافة الجداول في HBase. أدخل الأمر التالي:

    !tables
    
  6. إدراج القيم في الجدول. أدخل الأمر التالي:

    UPSERT INTO Company VALUES(1, 'Microsoft');
    UPSERT INTO Company VALUES(2, 'Apache');
    
  7. الاستعلام عن الجدول. أدخل الأمر التالي:

    SELECT * FROM Company;
    
  8. حذف سجل. أدخل الأمر التالي:

    DELETE FROM Company WHERE COMPANY_ID=1;
    
  9. إسقاط الجدول. أدخل الأمر التالي:

    DROP TABLE Company;
    
  10. استخدم الأمر SQLLine !quit للخروج من SQLLine. أدخل الأمر التالي:

    !quit
    

تنظيف الموارد

بعد إكمال التشغيل السريع، قد تحتاج إلى حذف المجموعة. باستخدام HDInsight، يتم تخزين بياناتك في Azure Storage، بحيث يمكنك حذف نظام مجموعة بأمان عندما لا تكون قيد الاستخدام. يتم تحصيل رسوم منك أيضا مقابل مجموعة HDInsight ، حتى عندما لا تكون قيد الاستخدام. نظرا لأن رسوم المجموعة تزيد بعدة مرات عن رسوم التخزين ، فمن المنطقي اقتصاديا حذف المجموعات عندما لا تكون قيد الاستخدام.

لحذف نظام مجموعة، راجع حذف نظام مجموعة HDInsight باستخدام المستعرض أو PowerShell أو Azure CLI.

الخطوات التالية

في هذا التشغيل السريع، تعلمت كيفية استخدام Apache Phoenix لتشغيل استعلامات HBase في Azure HDInsight. لمعرفة المزيد عن Apache Phoenix ، ستوفر المقالة التالية فحصا أعمق.