热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

flink访问hive(上)——在idea中本地运行

本文中使用的flink版本1.13,hive版本2.3.4使用工具idea2020有个朋友问了我这个问题,他说他试了很多网上的方法都跑不了,

        本文中使用的flink版本1.13,hive版本2.3.4

        使用工具idea2020

        有个朋友问了我这个问题,他说他试了很多网上的方法都跑不了,我研究了下,好像给的依赖都不全。

        在官网中的有解决方式,但主要篇幅是在服务器上如何处理,在程序中,只告诉我们需要添加三个依赖,这个其实是不全的。解决这个问题主要麻烦也就是依赖,以下是我能成功访问的依赖:

        

1.13.52.11org.apache.flinkflink-connector-hive_${scala.version}${flink.version}org.apache.flinkflink-table-api-java-bridge_${scala.version}${flink.version}org.apache.flinkflink-table-planner-blink_${scala.version}${flink.version}org.apache.hivehive-exec2.3.4org.apache.hadoophadoop-common2.7.4org.apache.hadoophadoop-client2.7.4org.apache.hadoophadoop-hdfs2.7.4org.apache.flinkflink-clients_${scala.version}${flink.version}org.anarres.lzolzo-hadoop1.0.5

        最后一个依赖是因为我的表采用了lzo,所以导入的依赖,如果你的表未使用lzo可以不用

        大致解释下其他的依赖:官网要求的,hive数据在hdfs上,需要hadoop的依赖,flink客户端,然后得多加个flink-table-planner-blink这个依赖,最后有点就是hive-exec得依赖得放在blink的后面。

测试代码:

EnvironmentSettings settings = EnvironmentSettings.newInstance().useBlinkPlanner().build();TableEnvironment tenv = TableEnvironment.create(settings);String name = "zxchive";//查询的database名称String database = "default";//hive配置文件的位置,里面要有 hive-site.xmlString hiveConfDir = "data/";//创建对象,注册,使用HiveCatalog hive = new HiveCatalog(name, database, hiveConfDir);tenv.registerCatalog("zxchive",hive);tenv.useCatalog("zxchive");
// TableResult table = tenv.executeSql("show tables");
// table.print();//执行sqlTable table2 = tenv.sqlQuery("select * from p_begin limit 10");table2.execute().print();

        代码的话比较简单,没什么需要解释了,注意一点就是需要hive-site.xml这个文件,别忘了。

最后就是:最新的1.14的,我瞟了一眼,代码写法变了,本文应该不适用了。

        官网地址:

                flink1.13的:Overview | Apache Flinkicon-default.png?t=LBL2https://nightlies.apache.org/flink/flink-docs-release-1.13/docs/connectors/table/hive/overview/

                flink1.14的:把上面的地址的1.13改成1.14就行了

        最最最后,放个成功的截图,以证明可用:

 


推荐阅读
  • C++字符字符串处理及字符集编码方案
    本文介绍了C++中字符字符串处理的问题,并详细解释了字符集编码方案,包括UNICODE、Windows apps采用的UTF-16编码、ASCII、SBCS和DBCS编码方案。同时说明了ANSI C标准和Windows中的字符/字符串数据类型实现。文章还提到了在编译时需要定义UNICODE宏以支持unicode编码,否则将使用windows code page编译。最后,给出了相关的头文件和数据类型定义。 ... [详细]
  • Android Studio Bumblebee | 2021.1.1(大黄蜂版本使用介绍)
    本文介绍了Android Studio Bumblebee | 2021.1.1(大黄蜂版本)的使用方法和相关知识,包括Gradle的介绍、设备管理器的配置、无线调试、新版本问题等内容。同时还提供了更新版本的下载地址和启动页面截图。 ... [详细]
  • Whatsthedifferencebetweento_aandto_ary?to_a和to_ary有什么区别? ... [详细]
  • Activiti7流程定义开发笔记
    本文介绍了Activiti7流程定义的开发笔记,包括流程定义的概念、使用activiti-explorer和activiti-eclipse-designer进行建模的方式,以及生成流程图的方法。还介绍了流程定义部署的概念和步骤,包括将bpmn和png文件添加部署到activiti数据库中的方法,以及使用ZIP包进行部署的方式。同时还提到了activiti.cfg.xml文件的作用。 ... [详细]
  • 一、Hadoop来历Hadoop的思想来源于Google在做搜索引擎的时候出现一个很大的问题就是这么多网页我如何才能以最快的速度来搜索到,由于这个问题Google发明 ... [详细]
  • 本文介绍了在Win10上安装WinPythonHadoop的详细步骤,包括安装Python环境、安装JDK8、安装pyspark、安装Hadoop和Spark、设置环境变量、下载winutils.exe等。同时提醒注意Hadoop版本与pyspark版本的一致性,并建议重启电脑以确保安装成功。 ... [详细]
  • XML介绍与使用的概述及标签规则
    本文介绍了XML的基本概念和用途,包括XML的可扩展性和标签的自定义特性。同时还详细解释了XML标签的规则,包括标签的尖括号和合法标识符的组成,标签必须成对出现的原则以及特殊标签的使用方法。通过本文的阅读,读者可以对XML的基本知识有一个全面的了解。 ... [详细]
  • 展开全部下面的代码是创建一个立方体Thisexamplescreatesanddisplaysasimplebox.#Thefirstlineloadstheinit_disp ... [详细]
  • Java学习笔记之面向对象编程(OOP)
    本文介绍了Java学习笔记中的面向对象编程(OOP)内容,包括OOP的三大特性(封装、继承、多态)和五大原则(单一职责原则、开放封闭原则、里式替换原则、依赖倒置原则)。通过学习OOP,可以提高代码复用性、拓展性和安全性。 ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • IjustinheritedsomewebpageswhichusesMooTools.IneverusedMooTools.NowIneedtoaddsomef ... [详细]
  • CEPH LIO iSCSI Gateway及其使用参考文档
    本文介绍了CEPH LIO iSCSI Gateway以及使用该网关的参考文档,包括Ceph Block Device、CEPH ISCSI GATEWAY、USING AN ISCSI GATEWAY等。同时提供了多个参考链接,详细介绍了CEPH LIO iSCSI Gateway的配置和使用方法。 ... [详细]
  • 本文介绍了使用Spark实现低配版高斯朴素贝叶斯模型的原因和原理。随着数据量的增大,单机上运行高斯朴素贝叶斯模型会变得很慢,因此考虑使用Spark来加速运行。然而,Spark的MLlib并没有实现高斯朴素贝叶斯模型,因此需要自己动手实现。文章还介绍了朴素贝叶斯的原理和公式,并对具有多个特征和类别的模型进行了讨论。最后,作者总结了实现低配版高斯朴素贝叶斯模型的步骤。 ... [详细]
  • Android日历提醒软件开源项目分享及使用教程
    本文介绍了一款名为Android日历提醒软件的开源项目,作者分享了该项目的代码和使用教程,并提供了GitHub项目地址。文章详细介绍了该软件的主界面风格、日程信息的分类查看功能,以及添加日程提醒和查看详情的界面。同时,作者还提醒了读者在使用过程中可能遇到的Android6.0权限问题,并提供了解决方法。 ... [详细]
  • 大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记
    本文介绍了大数据Hadoop生态(20)MapReduce框架原理OutputFormat的开发笔记,包括outputFormat接口实现类、自定义outputFormat步骤和案例。案例中将包含nty的日志输出到nty.log文件,其他日志输出到other.log文件。同时提供了一些相关网址供参考。 ... [详细]
author-avatar
mobiledu2502876597
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有