热门标签 | 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就行了

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

 


推荐阅读
  • 设计实战 | 10个Kotlin项目深度解析:首页模块开发详解
    设计实战 | 10个Kotlin项目深度解析:首页模块开发详解 ... [详细]
  • 提升 Kubernetes 集群管理效率的七大专业工具
    Kubernetes 在云原生环境中的应用日益广泛,然而集群管理的复杂性也随之增加。为了提高管理效率,本文推荐了七款专业工具,这些工具不仅能够简化日常操作,还能提升系统的稳定性和安全性。从自动化部署到监控和故障排查,这些工具覆盖了集群管理的各个方面,帮助管理员更好地应对挑战。 ... [详细]
  • 基于Dubbo与Zipkin的微服务调用链路监控解决方案
    本文提出了一种基于Dubbo与Zipkin的微服务调用链路监控解决方案。通过抽象配置层,支持HTTP和Kafka两种数据上报方式,实现了灵活且高效的调用链路追踪。该方案不仅提升了系统的可维护性和扩展性,还为故障排查提供了强大的支持。 ... [详细]
  • Squaretest:自动生成功能测试代码的高效插件
    本文将介绍一款名为Squaretest的高效插件,该工具能够自动生成功能测试代码。使用这款插件的主要原因是公司近期加强了代码质量的管控,对各项目进行了严格的单元测试评估。Squaretest不仅提高了测试代码的生成效率,还显著提升了代码的质量和可靠性。 ... [详细]
  • 第六章:枚举类型与switch结构的应用分析
    第六章深入探讨了枚举类型与 `switch` 结构在编程中的应用。枚举类型(`enum`)是一种将一组相关常量组织在一起的数据类型,广泛存在于多种编程语言中。例如,在 Cocoa 框架中,处理文本对齐时常用 `NSTextAlignment` 枚举来表示不同的对齐方式。通过结合 `switch` 结构,可以更清晰、高效地实现基于枚举值的逻辑分支,提高代码的可读性和维护性。 ... [详细]
  • 本文详细探讨了在ASP.NET环境中通过加密数据库连接字符串来提升数据安全性的方法。加密技术不仅能够有效防止敏感信息泄露,还能增强应用程序的整体安全性。文中介绍了多种加密手段及其实施步骤,帮助开发者在日常开发过程中更好地保护数据库连接信息,确保数据传输的安全可靠。 ... [详细]
  • 本文详细介绍了如何安全地手动卸载Exchange Server 2003,以确保系统的稳定性和数据的完整性。根据微软官方支持文档(https://support.microsoft.com/kb833396/zh-cn),在进行卸载操作前,需要特别注意备份重要数据,并遵循一系列严格的步骤,以避免对现有网络环境造成不利影响。此外,文章还提供了详细的故障排除指南,帮助管理员在遇到问题时能够迅速解决,确保整个卸载过程顺利进行。 ... [详细]
  • SQL Server 2005 在安装过程中通常会伴随 VS2005 一起安装,并且为了便于数据库管理,还会安装 Management Studio Express 管理工具。然而,在实际使用中,用户可能会遇到登录故障。本文综合分析了这些登录问题的常见原因,并提供了多种有效的解决方法,包括检查配置设置、验证账户权限和网络连接等。通过这些措施,用户可以有效地诊断并解决 SQL Server 2005 的登录问题。 ... [详细]
  • 本文探讨了Android系统中支持的图像格式及其在不同版本中的兼容性问题,重点涵盖了存储、HTTP传输、相机功能以及SparseArray的应用。文章详细分析了从Android 10 (API 29) 到Android 11 的存储规范变化,并讨论了这些变化对图像处理的影响。此外,还介绍了如何通过系统升级和代码优化来解决版本兼容性问题,以确保应用程序在不同Android版本中稳定运行。 ... [详细]
  • 在CentOS 7上部署WebRTC网关Janus
    在CentOS 7上部署WebRTC网关Janus ... [详细]
  • Java中处理NullPointerException:getStackTrace()方法详解与实例代码 ... [详细]
  • 在探讨Fragment的使用时,FragmentTransaction是不可或缺的一部分。作为管理Fragment操作的核心类,FragmentTransaction提供了诸如显示、隐藏、添加和移除等方法,这些方法在实际开发中被广泛使用。本文将深入解析FragmentTransaction的源码实现机制,帮助开发者更好地理解和优化Fragment的管理。通过分析其内部工作原理,读者可以掌握如何高效地进行Fragment的动态管理和性能优化。 ... [详细]
  • 在基于.NET框架的分层架构实践中,为了实现各层之间的松散耦合,本文详细探讨了依赖注入(DI)和控制反转(IoC)容器的设计与实现。通过合理的依赖管理和对象创建,确保了各层之间的单向调用关系,从而提高了系统的可维护性和扩展性。此外,文章还介绍了几种常见的IoC容器实现方式及其应用场景,为开发者提供了实用的参考。 ... [详细]
  • 在进行网络编程时,准确获取本地主机的IP地址是一项基本但重要的任务。Winsock作为20世纪90年代初由Microsoft与多家公司共同制定的Windows平台网络编程接口,为开发者提供了一套高效且易用的工具。通过Winsock,开发者可以轻松实现网络通信功能,并准确获取本地主机的IP地址,从而确保应用程序在网络环境中的稳定运行。此外,了解Winsock的工作原理及其API函数的使用方法,有助于提高开发效率和代码质量。 ... [详细]
  • 结语 | 《探索二进制世界:软件安全与逆向分析》读书笔记:深入理解二进制代码的逆向工程方法
    结语 | 《探索二进制世界:软件安全与逆向分析》读书笔记:深入理解二进制代码的逆向工程方法 ... [详细]
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社区 版权所有