Starta SQL Client CLI i gatewayläge
Viktig
Azure HDInsight på AKS drogs tillbaka den 31 januari 2025. Läs mer genom det här meddelandet.
Du måste migrera dina arbetsbelastningar till Microsoft Fabric- eller en motsvarande Azure-produkt för att undvika plötsliga uppsägningar av dina arbetsbelastningar.
Viktig
Den här funktionen är för närvarande i förhandsversion. 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 icke-släppt i allmän tillgänglighet. Information om den här specifika förhandsversionen finns i Azure HDInsight på AKS-förhandsversionsinformation. För frågor eller förslag på funktioner, skicka en begäran på AskHDInsight med detaljerna och följ oss för fler uppdateringar om 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>
Notera
I Apache Flink-kluster i HDInsight på AKS går alla externa anslutningar via 443-portar. Internt kommer begäran dock att omdirigeras till sql-gateway-tjänsten som lyssnar på port 8083.
Kontrollera sql gateway-tjänsten på AKS-sidan:
Vad är SQL-klienten i Flink?
Flinks TABELL-& 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 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-portalen.
Testning
Förberedelse
Ladda ned Flink CLI
- Ladda ned Flink CLI från https://aka.ms/hdionaksflink117clilinux på den lokala Windows-datorn.
Installera Windows-undersystemet 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 om kafka-tabellen och 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 på Azure-portalen.
Använd tabellen som redan har skapats och placera den i Hive-metaarkivet för hantering och kör sedan frågan.
Obs
I det här exemplet finns alla jar-filer i HDInsight på AKS på det förinställda Azure Data Lake Storage Gen2. 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 |
Hänvisning
Apache Flink® Command-Line Interface (CLI) på HDInsight i AKS-kluster