Starta SQL Client CLI i gatewayläge
Kommentar
Vi drar tillbaka Azure HDInsight på AKS den 31 januari 2025. Före den 31 januari 2025 måste du migrera dina arbetsbelastningar till Microsoft Fabric eller en motsvarande Azure-produkt för att undvika plötsliga uppsägningar av dina arbetsbelastningar. Återstående kluster i din prenumeration stoppas och tas bort från värden.
Endast grundläggande stöd kommer att vara tillgängligt fram till datumet för pensionering.
Viktigt!
Den här funktionen finns i förhandsgranskning. De kompletterande användningsvillkoren för Förhandsversioner av Microsoft Azure innehåller fler juridiska villkor som gäller för Azure-funktioner som är i betaversion, förhandsversion eller på annat sätt ännu inte har släppts i allmän tillgänglighet. Information om den här specifika förhandsversionen finns i Azure HDInsight på AKS-förhandsversionsinformation. Om du vill ha frågor eller funktionsförslag skickar du en begäran på AskHDInsight med informationen och följer oss för fler uppdateringar i Azure HDInsight Community.
Den här självstudien beskriver hur du startar SQL Client CLI i gatewayläge i Apache Flink Cluster 1.17.0 i HDInsight på AKS. I gatewayläget skickar CLI SQL till den angivna fjärrgatewayen för att köra -instruktioner.
./bin/sql-client.sh gateway --endpoint <gateway address>
Kommentar
I Apache Flink-kluster i HDInsight på AKS går alla externa anslutningar via 443-portar. Men internt omdirigeras begäran till sql-gateway-tjänsten och lyssnar på port 8083.
Kontrollera sql gateway-tjänsten på AKS-sidan:
Vad är SQL-klienten i Flink?
Flinks Tabell- och SQL-API gör det möjligt att arbeta med frågor som skrivits på SQL-språket, men dessa frågor behöver bäddas in i ett tabellprogram som skrivits i Antingen Java eller Scala. Dessutom måste dessa program paketeras med ett byggverktyg innan de skickas till ett kluster. Den här funktionen begränsar användningen av Flink till Java/Scala-programmerare.
SQL-klienten syftar till att ge ett enkelt sätt att skriva, felsöka och skicka tabellprogram till ett Flink-kluster utan en enda rad Java- eller Scala-kod. MED SQL Client CLI kan du hämta och visualisera realtidsresultat från det distribuerade programmet som körs på kommandoraden.
Mer information finns i hur du anger Flink SQL CLI-klienten på webssh.
Vad är SQL Gateway i Flink
SQL Gateway är en tjänst som gör det möjligt för flera klienter från fjärrplatsen att köra SQL i samtidighet. Det är ett enkelt sätt att skicka Flink-jobbet, leta upp metadata och analysera data online.
Mer information finns i SQL Gateway.
Starta SQL Client CLI i gatewayläge i Flink-cli
I Apache Flink-kluster i HDInsight på AKS startar du SQL Client CLI i gatewayläge genom att köra kommandot:
./bin/sql-client.sh gateway --endpoint host:port
or
./bin/sql-client.sh gateway --endpoint https://fqdn/sql-gateway
Hämta klusterslutpunkt (värd eller fqdn) på Azure Portal.
Testning
Förberedelse
Ladda ned Flink CLI
- Ladda ned Flink CLI från https://aka.ms/hdionaksflink117clilinux på den lokala Windows-datorn.
Installera Windows-undersystem för Linux för att få det att fungera på den lokala Windows-datorn.
Öppna Windows-kommandot och kör (ersätt sökvägen JAVA_HOME och flink-cli med din egen) för att ladda ned 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
Ange slutpunkt, klient-ID och port 443 i 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
Tillåtlista lokal offentlig IP-adress för Windows med port 443 med VPN aktiverat i HDInsight på AKS-klusterundernätets inkommande nätverkssäkerhet.
Kör sql-client.sh i gatewayläge på Flink-cli till Flink SQL.
bin/sql-client.sh gateway --endpoint https://fqdn/sql-gateway
Exempel
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
Förbered de relaterade jar-filerna innan du kör frågor mot en tabell med en extern källa. I följande exempel frågar du kafka-tabellen, mysql-tabellen i Flink SQL. Ladda ned jar-filen och placera den i Flink-klustret som är kopplat till Azure Data Lake Storage gen2-lagring.
Jars i Azure Data Lake Storage gen2 i Azure Portal:
Använd tabellen som redan har skapats och placera den i Hive-metaarkivet för hantering och kör sedan frågan.
Kommentar
I det här exemplet är alla jars i HDInsight på AKS azure Data Lake Storage Gen2 som standard. Containern och lagringskontot behöver inte vara samma som när klustret skapades. Om det behövs kan du ange ett annat lagringskonto och bevilja klusteranvändarens hanterade identitet rollen som lagringsblobdataägare på Azure Data Lake Storage Gen2-sidan.
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 |
Referens
Apache Flink-kommandoradsgränssnitt® (CLI) på HDInsight i AKS-kluster