1.主な参考資料:
https://mp.weixin.qq.com/s/99ehmNzJVwW3cOrw_UkGsg
https://mp.weixin.qq.com/s/YuR-s5zCtBz_5ku_bttbaw
https://ci.apache.org/projects/flink/flink-docs- release-1.12 / dev / table / controllers / hive /#dependencies
https://ci.apache.org/projects/flink/flink-docs-release-1.12/dev/table/sqlClient.html
https://www.jianshu .com / p / af96d6618854
2.依存
1.3つのjarパッケージを追加します。
-
flink-connector-hive_2.11-1.12.0.jar
-
flink-sql-connector-hive-2.2.0_2.11-1.12.0.jar
-
hive-exec-2.1.1-cdh6.3.1.jar
2.flinkディレクトリにあるconf / sql-client-defaults.yamlファイルを設定します
#catalogs: [] # empty list
# A typical catalog definition looks like:
catalogs:
- name: myhive
type: hive
hive-conf-dir: /etc/hive/conf
default-database: default
#配置当前的Catalog和Database:
current-catalog: myhive
current-database: default
3.上記の3つのjarパッケージを追加する場合、スタンドアロンモードは通常のモードになります。
启动./start-cluster.sh
再./sql-client.sh embedded启动客户端
再输入查询语句就能直接执行
4. Standloneクラスターが開始されていない場合、yarn-sessionに接続しますが、この時点でエラーが報告されますorg.apache.hadoop.mapred.JobConf
Caused by: java.lang.ClassNotFoundException: **org.apache.hadoop.mapred.JobConf**
at java.net.URLClassLoader.findClass(URLClassLoader.java:381)
at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331)
at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
... 52 more
奇妙な場所は、/ etc / profileファイルで次の環境変数を構成したことです。
export HADOOP_CLASSPATH=`hadoop classpath`
しかし、それは役に立たず、Hadoopの依存関係がまだないため、libパッケージにhadoopの依存関係を追加する必要があります。
要么是这个:
flink-shaded-hadoop-2-uber-2.7.5-8.0.jar
要么是:
hadoop-common-3.0.0-cdh6.3.1.jar
hadoop-mapreduce-client-common-3.0.0-cdh6.3.1.jar
hadoop-mapreduce-client-core-3.0.0-cdh6.3.1.jar
hadoop-mapreduce-client-hs-3.0.0-cdh6.3.1.jar
hadoop-mapreduce-client-jobclient-3.0.0-cdh6.3.1.jar
3.ハイブプラクティスでのflinksqlの生成の落とし穴と最適化は、他のドキュメントで確認できます(継続的な更新...)
https://blog.csdn.net/weixin_44500374/article/details/112610629