بدء SQL Client CLI في وضع البوابة

إشعار

سنتقاعد Azure HDInsight على AKS في 31 يناير 2025. قبل 31 يناير 2025، ستحتاج إلى ترحيل أحمال العمل الخاصة بك إلى Microsoft Fabric أو منتج Azure مكافئ لتجنب الإنهاء المفاجئ لأحمال العمل الخاصة بك. سيتم إيقاف المجموعات المتبقية على اشتراكك وإزالتها من المضيف.

سيتوفر الدعم الأساسي فقط حتى تاريخ الإيقاف.

هام

هذه الميزة في وضع المعاينة حاليًا. تتضمن شروط الاستخدام التكميلية لمعاينات Microsoft Azure المزيد من الشروط القانونية التي تنطبق على ميزات Azure الموجودة في الإصدار التجريبي أو قيد المعاينة أو التي لم يتم إصدارها بعد في التوفر العام. للحصول على معلومات حول هذه المعاينة المحددة، راجع معلومات معاينة Azure HDInsight على AKS. للأسئلة أو اقتراحات الميزات، يرجى إرسال طلب على AskHDInsight مع التفاصيل ومتابعتنا لمزيد من التحديثات على مجتمع Azure HDInsight.

يرشدك هذا البرنامج التعليمي إلى كيفية بدء تشغيل SQL Client CLI في وضع البوابة في Apache Flink Cluster 1.17.0 على HDInsight على AKS. في وضع البوابة، يرسل CLI SQL إلى البوابة البعيدة المحددة لتنفيذ العبارات.

./bin/sql-client.sh gateway --endpoint <gateway address>

إشعار

في Apache Flink Cluster على HDInsight على AKS، سيتم نقل أي اتصال خارجي عبر منفذ 443. ولكن داخليا، سيعيد توجيه الطلب إلى خدمة sql-gateway التي تستمع إلى المنفذ 8083.

تحقق من خدمة بوابة sql في جانب AKS:

لقطة شاشة توضح كيفية التحقق من بوابة SQL.

تتيح واجهة برمجة تطبيقات جدول وSQL في Flink إمكانية العمل مع الاستعلامات المكتوبة بلغة SQL، ولكن هذه الاستعلامات تحتاج إلى تضمينها ضمن برنامج جدول مكتوب إما بلغة Java أو Scala. علاوة على ذلك، يجب حزم هذه البرامج باستخدام أداة بناء قبل إرسالها إلى نظام مجموعة. تحد هذه الميزة من استخدام Flink إلى مبرمجي Java/Scala.

يهدف عميل SQL إلى توفير طريقة سهلة للكتابة وتصحيح الأخطاء وإرسال برامج الجدول إلى مجموعة Flink دون سطر واحد من التعليمات البرمجية Java أو Scala. يسمح SQL Client CLI باسترداد النتائج وتصورها في الوقت الفعلي من التطبيق الموزع قيد التشغيل على سطر الأوامر.

لمزيد من المعلومات، راجع كيفية إدخال عميل Flink SQL CLI على webssh.

بوابة SQL هي خدمة تمكن عملاء متعددين من جهاز التحكم عن بعد من تنفيذ SQL في التزامن. يوفر طريقة سهلة لإرسال وظيفة Flink والبحث عن بيانات التعريف وتحليل البيانات عبر الإنترنت.

لمزيد من المعلومات، راجع بوابة SQL.

في Apache Flink Cluster على HDInsight على AKS، ابدأ SQL Client CLI في وضع البوابة عن طريق تشغيل الأمر:

./bin/sql-client.sh gateway --endpoint host:port
 
or
 
./bin/sql-client.sh gateway --endpoint https://fqdn/sql-gateway

احصل على نقطة نهاية نظام المجموعة (المضيف أو fqdn) على مدخل Microsoft Azure.

لقطة شاشة تعرض نقطة نهاية نظام المجموعة.

الاختبار

الإعداد

  1. قم بتنزيل Flink CLI من https://aka.ms/hdionaksflink117clilinux جهاز Windows المحلي.

قم بتثبيت نظام Windows الفرعي لـ Linux لجعل هذا يعمل على جهاز Windows المحلي.

  1. افتح أمر Windows وقم بتشغيل (استبدل مسار JAVA_HOME وflink-cli بمسارك الخاص) لتنزيل flink-cli:

    Windows Subsystem for Linux --distribution Ubuntu 
    export JAVA_HOME=/mnt/c/Work/99_tools/zulu11.56.19-ca-jdk11.0.15-linux_x64
    cd <folder>
    wget https://hdiconfigactions.blob.core.windows.net/hiloflink17blob/flink-cli.tgz
    tar -xvf flink-cli.tgz
    
  2. تعيين نقطة النهاية ومعرف المستأجر والمنفذ 443 في flink-conf.yaml

    user@MININT-481C9TJ:/mnt/c/Users/user/flink-cli$ cd conf
    user@MININT-481C9TJ:/mnt/c/Users/user/flink-cli/conf$ ls -l
    total 8
    -rwxrwxrwx 1 user user 2451 Feb 26 20:33 flink-conf.yaml
    -rwxrwxrwx 1 user user 2946 Feb 23 14:13 log4j-cli.properties
    
    user@MININT-481C9TJ:/mnt/c/Users/user/flink-cli/conf$ cat flink-conf.yaml
    
    rest.address: <flink cluster endpoint on Azure portal>
    azure.tenant.id: <tenant ID>
    rest.port: 443
    
  3. Allowlist Local Windows public IP مع المنفذ 443 مع تمكين VPN في HDInsight على أمان الشبكة الفرعية لمجموعة AKS الواردة.

    لقطة شاشة توضح كيفية السماح بعنوان IP العام.

  4. قم بتشغيل sql-client.sh في وضع البوابة على Flink-cli إلى Flink SQL.

    bin/sql-client.sh gateway --endpoint https://fqdn/sql-gateway
    

    مثال

    user@MININT-481C9TJ:/mnt/c/Users/user/flink-cli$ bin/sql-client.sh gateway --endpoint https://fqdn/sql-gateway
    
                                       ▒▓██▓██▒
                                   ▓████▒▒█▓▒▓███▓▒
                                ▓███▓░░        ▒▒▒▓██▒  ▒
                              ░██▒   ▒▒▓▓█▓▓▒░      ▒████
                              ██▒         ░▒▓███▒    ▒█▒█▒
                                ░▓█            ███   ▓░▒██
                                  ▓█       ▒▒▒▒▒▓██▓░▒░▓▓█
                                █░ █   ▒▒░       ███▓▓█ ▒█▒▒▒
                                ████░   ▒▓█▓      ██▒▒▒ ▓███▒
                             ░▒█▓▓██       ▓█▒    ▓█▒▓██▓ ░█░
                       ▓░▒▓████▒ ██         ▒█    █▓░▒█▒░▒█▒
                      ███▓░██▓  ▓█           █   █▓ ▒▓█▓▓█▒
                    ░██▓  ░█░            █  █▒ ▒█████▓▒ ██▓░▒
                   ███░ ░ █░          ▓ ░█ █████▒░░    ░█░▓  ▓░
                  ██▓█ ▒▒▓▒          ▓███████▓░       ▒█▒ ▒▓ ▓██▓
               ▒██▓ ▓█ █▓█       ░▒█████▓▓▒░         ██▒▒  █ ▒  ▓█▒
               ▓█▓  ▓█ ██▓ ░▓▓▓▓▓▓▓▒              ▒██▓           ░█▒
               ▓█    █ ▓███▓▒░              ░▓▓▓███▓          ░▒░ ▓█
               ██▓    ██▒    ░▒▓▓███▓▓▓▓▓██████▓▒            ▓███  █
              ▓███▒ ███   ░▓▓▒░░   ░▓████▓░                  ░▒▓▒  █▓
              █▓▒▒▓▓██  ░▒▒░░░▒▒▒▒▓██▓░                            █▓
              ██ ▓░▒█   ▓▓▓▓▒░░  ▒█▓       ▒▓▓██▓    ▓▒          ▒▒▓
              ▓█▓ ▓▒█  █▓░  ░▒▓▓██▒            ░▓█▒   ▒▒▒░▒▒▓█████▒
               ██░ ▓█▒█▒  ▒▓▓▒  ▓█                █░      ░░░░   ░█▒
               ▓█   ▒█▓   ░     █░                ▒█              █▓
                █▓   ██         █░                 ▓▓        ▒█▓▓▓▒█░
                 █▓ ░▓██░       ▓▒                  ▓█▓▒░░░▒▓█░    ▒█
                  ██   ▓█▓░      ▒                    ░▒█▒██▒      ▓▓
                   ▓█▒   ▒█▓▒░                         ▒▒ █▒█▓▒▒░░▒██
                    ░██▒    ▒▓▓▒                     ▓██▓▒█▒ ░▓▓▓▓▒█▓
                      ░▓██▒                          ▓░  ▒█▓█  ░░▒▒▒
                          ▒▓▓▓▓▓▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒▒░░▓▓  ▓░▒█░
    
        ______ _ _       _       _____  ____  _         _____ _ _            _  BETA
       |  ____| (_)     | |     / ____|/ __ \| |       / ____| (_)          | |
       | |__  | |_ _ __ | | __ | (___ | |  | | |      | |    | |_  ___ _ __ | |_
       |  __| | | | '_ \| |/ /  \___ \| |  | | |      | |    | | |/ _ \ '_ \| __|
       | |    | | | | | |   <   ____) | |__| | |____  | |____| | |  __/ | | | |_
       |_|    |_|_|_| |_|_|\_\ |_____/ \___\_\______|  \_____|_|_|\___|_| |_|\__|
    
            Welcome! Enter 'HELP;' to list all available commands. 'QUIT;' to exit.
    
    Command history file path: /home/user/.flink-sql-history
    
  5. قبل الاستعلام عن أي جدول بمصدر خارجي، قم بإعداد الجرار ذات الصلة. فيما يلي أمثلة استعلام جدول kafka، جدول mysql في Flink SQL. قم بتنزيل jar وضعه في مجموعة Flink المرفقة بمخزن Azure Data Lake Storage gen2.

    Jars في Azure Data Lake Storage gen2 في مدخل Microsoft Azure:

    لقطة شاشة تعرض ملفات jar في مدخل Microsoft Azure.

  6. استخدم الجدول الذي تم إنشاؤه بالفعل وضعه في Hive metastore للإدارة، ثم قم بتشغيل الاستعلام.

    إشعار

    في هذا المثال، جميع الجرار في HDInsight على AKS الافتراضي Azure Data Lake Storage Gen2. لا يجب أن يكون حساب الحاوية والتخزين كما هو محدد أثناء إنشاء نظام المجموعة. إذا لزم الأمر، يمكنك تحديد حساب تخزين آخر، ومنح هوية مدارة من قبل مستخدم نظام المجموعة دور مالك بيانات كائن ثنائي كبير الحجم للتخزين على جانب Azure Data Lake Storage Gen2.

    CREATE CATALOG myhive WITH (
        'type' = 'hive'
    );
    
    USE CATALOG myhive;
    
    // ADD jar into environment
    ADD JAR 'abfs://<container>@<storage name>.dfs.core.windows.net/jar/flink-connector-jdbc-3.1.0-1.17.jar';
    ADD JAR 'abfs://<container>@<storage name>.dfs.core.windows.net/jar/mysql-connector-j-8.0.33.jar';
    ADD JAR 'abfs://<container>@<storage name>.dfs.core.windows.net/jar/kafka-clients-3.2.0.jar';
    ADD JAR 'abfs://<container>@<storage name>.dfs.core.windows.net/jar/flink-connector-kafka-1.17.0.jar';
    
    Flink SQL> show jars;
    ----------------------------------------------------------------------------------------------+
    |                                                                                         jars |
    +----------------------------------------------------------------------------------------------+
    |    abfs://<container>@<storage name>.dfs.core.windows.net/jar/flink-connector-kafka-1.17.0.jar |
    | abfs://<container>@<storage name>.dfs.core.windows.net/jar/flink-connector-jdbc-3.1.0-1.17.jar |
    |             abfs://<container>@<storage name>.dfs.core.windows.net/jar/kafka-clients-3.2.0.jar |
    |        abfs://<container>@<storage name>.dfs.core.windows.net/jar/mysql-connector-j-8.0.33.jar |
    +----------------------------------------------------------------------------------------------+
    4 rows in set
    
    Flink SQL> SET 'sql-client.execution.result-mode' = 'tableau';
    [INFO] Execute statement succeed.
    
    Flink SQL> show tables;
    +----------------------+
    |           table name |
    +----------------------+
    | flightsintervaldata1 |
    |    kafka_user_orders |
    |           kafkatable |
    |    mysql_user_orders |
    |               orders |
    +----------------------+
    5 rows in set
    
    // mysql cdc table
    Flink SQL> select * from mysql_user_orders;
    +----+-------------+----------------------------+-------------+--------------------------------+--------------+-------------+--------------+
    | op |    order_id |                 order_date | customer_id |                  customer_name |        price |  product_id | order_status |
    +----+-------------+----------------------------+-------------+--------------------------------+--------------+-------------+--------------+
    | +I |       10001 | 2023-07-16 10:08:22.000000 |           1 |                           Jark |     50.00000 |
    102 |        FALSE |
    | +I |       10002 | 2023-07-16 10:11:09.000000 |           2 |                          Sally |     15.00000 |
    105 |        FALSE |
    | +I |       10003 | 2023-07-16 10:11:09.000000 |           3 |                          Sally |     25.00000 |
    
    

المرجع

واجهة سطر أوامر Apache Flink® (CLI) على HDInsight على مجموعات AKS