基本信息:Centos-7.9、Java-1.8、Python-3.9、Scala-2.12、Hadoop-3.2.1、Spark-3.1.2、Flink-1.13.1、Hive-3.1.3、Zookeeper-3.8.0、Kafka-3.2.0、Nginx-1.23.1目录一、相关文件下载地址二、虚拟机基础配置三、语言环境安装1.Java环境安装2.Python环境安装3.Scala环境安装四、大数据组件安装1.Hadoop集群安装2.MySQL安装3.Spark安装4.Flink安装5.Hive安装6.Zookeeper安装7.Kafka安装8.Nginx安装五、过程中存在的问题1.环境配
目录一:静态分区和动态分区介绍二:静态分区和动态分区区别三:样例四:动态分区参数一:静态分区和动态分区介绍1、静态分区与动态分区的主要区别在于静态分区是手动指定,而动态分区是通过数据来进行判断。详细来说,静态分区的列实在编译时期,通过用户传递来决定的;动态分区只有在SQL执行时才能决定。静态分区:分区是指定的一个固定值;动态分区:分区根据读入的值动态写(可理解为变量形式)。静态分区的表不能被加到动态分区里,可以增加新的分区但是只对后来加入的新数据有意义,已经写入数仓的文件不能被重新分区了,只能重写!2、Hive分区是在创建表的时候用Partitionedby关键字定义的,但要注意,Partit
文章目录一、lateralview函数二、explode()函数三、posexplode()函数四、行转列使用单列转多行多列转多行一、lateralview函数功能:用于和UDTF函数(explode,split)结合使用,把某一行数据拆分成多行数据,再将多行结果组合成一个支持别名的虚拟表。主要解决select使用UDTF做查询的过程中查询只能包含单个UDTF,不能包含其它字段以及多个UDTF的情况。语法:LATERALVIEWudtf(expression)tableAliasAScolumnAlias(‘,’columnAlias)columnAlias是给udtf(expression)
把Hive中的数据导入Oracle数据库。1.解释一下各行代码:sqoopexport#指定要从Hive中导出的表--tableTABLE_NAME#host_ip:导入oracle库所在的ip:导入的数据库--connectjdbc:oracle:thin:@HOST_IP:DATABASE_NAME#oracle用户账号--usernameUSERNAME#oracle用户密码--passwordPASSWORD#hive表数据文件在hdfs上的路径--export-dir/user/hive/test/TABLE_NAME#指定表的列名,必须指定--columnsID,data_date
看了一些人写的hive数组和string互转的文章简直就是坑爹胡扯,所以还是写一个靠谱点的例子数组转string使用函数:concat_ws(',',collect_set(column)) 说明:collect_list不去重,collect_set去重。collect_list,collect_set 产生的是一个数组对象["grey","black"], concat_ws 把数组对象转成字符串, column的数据类型要求是stringselect user_id,concat_ws(',',collect_list(order_id))as order_valuefrom col_l
什么是Hive?Hive是一个No-SQL轻量级和快速键值数据库解决方案,它是跨平台的(在移动设备、桌面和Web上运行)并且是用纯Dart编写的。与不支持Flutterweb的sqflite相比,这使其具有立竿见影的优势——Hive具有任何原生依赖项,因此它可以在web上无缝运行。深入了解何时以及为什么应该使用hive。据统计,在写入或删除方面,Hive大大优于SQLite和SharedPreferences,在从存储中读取数据方面,SharedPreferences在读取性能方面与Hive不相上下。SQLite的表现要差得多。下图显示了基准测试是在搭载AndroidQ的Oneplus6T上执
每日的数据同步任务中,会将在线业务库的数据同步至Hive,在刚上线的一段时间内,对Hive的SQL操作每隔十来天会出现socketreadtimeout的异常。该问题导致我经常凌晨收到告警然后起床修复该问题,因为该问题是偶现,不便复现,经过查阅HiveJDBC的源码,定位问题为HiveJDBC使用了java.sql.DriverManager中的静态变量loginTimeout的值,而我们的工程中接入了八九种类型的JDBC驱动,部分类型还使用了连接池,先看看java.sql.DriverManager中的部分源码:依赖版本版本:org.apache.hivehive-jdbc2.3.2源码分析
问题今天Hive导入csv文件时,开始时建表语句如下:CREATETABLEIFNOTEXISTStest.student(nameSTRINGCOMMENT'姓名',ageSTRINGCOMMENT'年龄',genderSTRINGCOMMENT'性别',other_infoSTRINGCOMMENT'其他信息')COMMENT'学生信息表'ROWFORMATDELIMITEDFIELDSTERMINATEDBY','STOREDASTEXTFILE;然后导入csv文件,发现数据串列了,查看数据发现是因为数据中包含逗号的问题,因为csv文件列分隔符就为逗号,所以直接导入到表中会使数据串列。解
文章目录一、概述二、前期准备1)部署docker2)部署docker-compose三、创建网络四、MySQL部署1)mysql镜像2)配置3)编排4)部署mysql四、Hive部署1)下载hive2)配置3)启动脚本4)构建镜像Dockerfile5)编排6)开始部署一、概述其实通过docker-compose部署hive是在继上篇文章Hadoop部署的基础之上叠加的,Hive做为最常用的数仓服务,所以是有必要进行集成的,感兴趣的小伙伴请认真阅读我以下内容,通过docker-compose部署的服务主要是用最少的资源和时间成本快速部署服务,方便小伙伴学习、测试、验证功能等等~关于Hadoop
访问Hive的元数据存储(MetaStore)的API方式访问Hive的元数据存储(MetaStore)是通过Hive的ThriftAPI来实现的。Thrift是一个跨语言的远程服务调用框架,它可以让不同编程语言之间进行跨语言的远程过程调用(RPC)。Hive的元数据存储的ThriftAPI允许你通过编程语言(如Java、Python等)与Hive的元数据进行交互。以下是使用Java和Python编程语言访问Hive元数据存储的示例:使用Java:首先,你需要使用Maven或其他构建工具添加Hive的thrift依赖。创建一个Thrift的transport对象和一个HiveMetastore