![](https://img-blog.csdnimg.cn/6b7a8e259fec4216a063f7d650f135a2.png?x-oss-process=image/resize,m_fixed,h_224,w_224)
大数据
大数据
可乐大牛
上海某高校在读cs研究生,希望早点发出论文,考公考编 哈哈哈哈
展开
-
【hive】mysql到hive数据类型转换
1.类型映射关系 mysql和hive中的数据类型存在差异,在mysql集成数据到hive中这样的场景下,我们希望在hive中的数据是贴源的,所以在hive中希望创建和mysql结构一致的表。 mysql到hive数据类型映射参考如下: mysql数据类型hive数据类型整型bigintBIGINT整型intBIGINT整型smallintBIGINT整型tinyintBIGINT浮点型decimaldecimal浮点型doubleDOUBLE浮点型floatDOUBLE二进制binaryBINARY原创 2021-02-14 20:21:19 · 5646 阅读 · 0 评论 -
【hive】常用字符串函数
1、字符串长度函数:length语法: length(string A)返回值: int说明:返回字符串A的长度举例:hive> select length(‘abcedfg’)72、字符串反转函数:reverse语法: reverse(string A)返回值: string说明:返回字符串A的反转结果举例:hive> select reverse(‘abcedfg’) ;gfdecba3、字符串连接函数:concat语法: concat(string A, st原创 2021-02-16 22:11:40 · 597 阅读 · 0 评论 -
【hive】NULL值处理
理论null默认的存储都是\N,可以在建表时通过serialization.null.format的设置null不能进行算术运算,所有有null参与的运算结果都为null。实际实际应用中可用nvl(字段名,值),如nvl(a,0)设置null的默认值,避免查询出错0: jdbc:hive2://hadoop102:10000> select nvl(null,0)+2;+---------------------+| (nvl(NULL, 0) + 2) |+---------原创 2021-02-17 19:21:58 · 1715 阅读 · 0 评论 -
hive建表
Table 的创建过程和数据加载过程(这两个过程可以在同一个语句中完成),在加载数据的过程中,实际数据会被移动到数据仓库目录中;之后对数据对访问将会直接在数据仓库目录中完成。删除表时,表中的数据和元数据将会被同时删除。External Table 只有一个过程,加载数据和创建表同时完成(CREATE EXTERNAL TABLE ……LOCATION),实际数据是存储在 LOCATION 后面指定的 HDFS 路径中,并不会移动到数据仓库目录中。若创建外部表,仅记录数据所在的路径,不对数据的位置做任何改变原创 2021-02-01 11:56:58 · 1647 阅读 · 0 评论 -
【hive】表中的数据全为NULL
问题描述通过Sqoop将mysql的数据导入hive,查看数据是正确的,但是select语句查出来都是NULL,仔细观察才发现建表的时候指定的分隔符和Sqoop导入时候参数给的不一致问题解决将两者改为一致即可分别是建表时候的hive的row format delimited fields terminated by和Sqoop的fields-terminated-byCREATE EXTERNAL TABLE ods_order (`id` BIGINT,`account_id` BIG原创 2021-02-16 20:04:25 · 1117 阅读 · 0 评论 -
【hive 】时间差(天、小时、分、秒)和常用时间格式转换
unix_timestamp()是hive系统时间,格式是timestamp,精确到秒。 unix_timestamp(ymdhms)是把时间转换成timestamp格式,是2018-05-23 07:15:50格式。 unix_timestamp() - unix_timestamp(ymdhms)是两个时间转换为timestamp之后相减,timestamp单位是秒,相减之后是两个时间之间相差的秒数。 CAST((unix_timestamp() - unix_timestamp(ym原创 2021-02-16 22:19:19 · 27264 阅读 · 0 评论 -
【Scala】8、集合Set 字典Map和元组Tuple
集合setdef main(args: Array[String]): Unit = { //定义一个集合 这里默认导的是scala.collection.immutable.Set 即不可变的set val set1=Set(1,2,3,3,4) //set1.foreach(println) val set2=Set(3,4) //取得交集 使用interset函数// for(item<-set1.intersect(set2)){/原创 2021-01-17 16:48:33 · 1361 阅读 · 0 评论 -
【Scala】4、简单语法
部分代码:def main(args: Array[String]): Unit = { /* * to两种写法 until也是两种写法 区别是to是闭区间 until是前闭后开的 * 类似于python的车range语法 支持第二个参数 步长 * */ /*val a=1 to 10 val a1=1.to(10) val b=1 until 10 val b1=1.until(10) println(a) print原创 2020-12-24 10:59:07 · 219 阅读 · 0 评论 -
【Spark】 Spark beeline简单使用
操作Spark Thrift Server 是 Spark 社区基于 HiveServer2 实现的一个 Thrift 服务。旨在无缝兼容HiveServer2。因为 Spark Thrift Server 的接口和协议都和 HiveServer2 完全一致,因此我们部署好 Spark Thrift Server 后,可以直接使用 hive 的 beeline 访问 Spark Thrift Server 执行相关语句。Spark Thrift Server 的目的也只是取代 HiveServer2原创 2021-02-13 21:26:46 · 5166 阅读 · 0 评论 -
【Scala】2、语言概述
Scala 是一门满足现代软件工程师需求的语言;它是一门静态类型语言,支持混合范式;它也是一门运行在 JVM 之上的语言,语法简洁、优雅、灵活。Scala 拥有一套复杂的类型系统,Scala方言既能用于编写简短的解释脚本,也能用于构建大型复杂系统。这些只是它的一部分特性,下面就是其特性:运行在 JVM 和 JavaScript 之上的语言Scala 不仅利用了 JVM 的高性能以及最优化性,Java 丰富的工具及类库生态系统也为其所用。不过 Scala 并不是只能运行在 JVM 之上!静态类型在原创 2020-12-22 19:54:47 · 110 阅读 · 0 评论 -
【Scala】5、方法定义
部分代码object TestFunction { def main(args: Array[String]): Unit = { /* * 带了return的 * */ /*def max(a:Int,b:Int):Int={ if(a>b) return a; return b; }*/ /* * 没带return的 * */ /*def max(a:Int,b:Int)={ if(a&原创 2020-12-24 11:19:00 · 243 阅读 · 0 评论 -
【Scala】1、安装教程及简单配置
Windows下安装scala运行环境,安装编译工具并简单配置,实现著名的“Hello,World"。1 Windows下安装scala运行环境1.配置jdk,因为scala的运行需要依靠jvm虚拟机,所以在使用scala时需要有java环境2.官网下载scala包,点击这里直达。3.选择一个最好不带有中文的路径进行解压,因为配置环境变量会用到4.配置系统环境变量新建变量名:SCALA_HOME 变量值:解压路径(例如:G:\scala\scala-2.13.4)找到变量名:原创 2020-12-17 16:58:23 · 408 阅读 · 0 评论 -
【Scala】7、字符串和数组
总结:scala的字符串用的就是java的字符串,方法也和java中的基本一样scala中的array list set map都有可变课不可变的两种形式字符串 val s="aaa"; val ss="AAA"; println(s.equals(ss)) println(s.equalsIgnoreCase(ss)) println(s.indexOf('a'))数组(Array)...原创 2020-12-26 10:51:48 · 314 阅读 · 0 评论 -
【Scala】6、方法和函数
总结:scala的不愧是函数式编程语言object TestFunction2 { def main(args: Array[String]): Unit = { /* * 1.递归 * */ def fun1(i:Int):Int = { if(i==1) return 1; return i*fun1(i-1); } println(fun1(5)) /* * 2.参数带默认值 * */原创 2020-12-24 15:32:23 · 87 阅读 · 0 评论 -
【Spark】Spark beeline连接外置hive之后select语句报错
问题描述使用Spark beeline连接外置hive之后select语句报错Class com.hadoop.compression.lzo.LzoCodec not found问题原因Spark on Yarn会默认使用Hadoop集群配置文件设置编码方式,但是Spark在自己的spark-yarn/jars 包里面没有找到支持lzo压缩的jar包,所以报错。问题解决拷贝lzo到spark的jar目录下cp /opt/module/hadoop-2.7.2/share/hadoop/co原创 2021-02-13 21:09:28 · 480 阅读 · 0 评论 -
【Scala】10、隐式类型转换
隐式值和隐式参数package com.yxx/*** 隐式值和隐式参数 {* 1、单个参数的情况下 将参数指定为隐式类型 那么系统会在作用域之内自动查找对应类型的隐式类型的变量 可以不传参数调用方法* 2、多个参数的情况下 必须使用柯里化函数 将隐式类型的参数单独提出来 不能和普通的参数放一起* 3、同一个作用域之内 只能有一个类型的隐式类型的值,不然编译器不知道隐式类型的参数选择哪一个值* }* */object Test_Implici原创 2021-01-18 09:57:04 · 131 阅读 · 0 评论 -
IDEA设置Scala变量自动带返回类型
IDEA设置Scala变量自动带返回类型 设置快捷键: Ctrl+Alt+S 位置: Settings --> Editor --> Code Style --> Scala --> Type Annotations 效果如下:原创 2021-01-30 15:15:32 · 712 阅读 · 0 评论 -
【Scala】9、Trait、Match、CaseClass和偏函数
抽象类和接口的合体trait 1/** 1、trait不可以传参* 2、类继承多个trait的时候 第一个关键字用extends 第二个用with* */trait Read{ def read(name:String): Unit ={ println(s"$name is reading... ") }}trait Listen{ def listen(name:String): Unit ={ println(s"$name is listen... "原创 2021-01-17 19:24:45 · 122 阅读 · 0 评论 -
【Scala】3、类和对象
总结:scala 中的object是单例对象,定义的全是静态的,相当于java中的工具类Scala 中定义常量用val 定义变量用var 变量和常量类型可以省略不写 能自动推断的每行后面又分号自动推断机制,不用显示写出";"Scala和java一样推荐使用驼峰形式类可以传参相当于默认构造方法,需要指定参数类型 可以用val和var修饰,类中属性默认有getter和setter方法重写构造方法需要先调用默认构造方法创建类的实例的时候 除了不执行 其他都会执行 就是说 类中除了属性和方法之外还能原创 2020-12-22 22:08:31 · 122 阅读 · 0 评论 -
linux下的普通用户设置
配置原因安装完centos7后,默认没有启用sudo,首先应该是对sudo进行设置。sudo 的作用就是使当前非root用户在使用没有权限的命令 时,直接在命令前加入sudo,在输入自己当前用户的密码就可以完成root用户的功能,而不必在每次使用su -来回切换用户了。配置方法sudo的配置文件位于/etc/sudoers,需要root权限才可以读写。找到root ALL=(ALL) ALL这一行,在后面再加上一行就可以了(不用引号):username ALL=(ALL) ALL”其中use原创 2020-09-11 11:19:38 · 574 阅读 · 0 评论 -
linux下重装jdk
查看已经安装的 java或jdkrpm -qa | grep java 或者rpm -qa | grep djk删除软件包sudo rpm -e 软件包测试是否删除成功javajavacjava -vension选择新的文件夹重新安装jdktar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module/这里是将 jdk解压至/opt/module/下测试是否安装成功javajavacjava -vension查看路径which ja原创 2020-09-10 19:06:39 · 389 阅读 · 0 评论 -
虚拟机突然黑屏的解决方法
windows命令行输入netsh winsock reset然后重启电脑原创 2020-09-12 18:15:06 · 974 阅读 · 0 评论 -
【Sqoop】将mysq的数据导入hive数仓报错
错误操作bin/sqoop import \--connect jdbc:mysql://ip:3306/demo \--username 账号 \--password 密码 \--table order \--num-mappers 1 \--hive-import \--fields-terminated-by "\t" \--hive-overwrite \--hive-table ods_order错误详情The connection property ‘zeroDateT原创 2021-02-14 19:24:15 · 213 阅读 · 0 评论 -
安装zookeeper时候,可以查看进程启动,但是状态显示报错:Error contacting service. It is probably not running
安装zookeeper时候,可以查看进程启动,但是状态显示报错:Error contacting service. It is probably not running 安装zookeeper-3.3.2的时候,启动正常没报错,但zkServer.sh status查看状态的时候却出现错误,如下:JMX enabled by defaultUsing config: /hadoop/zookeeper/bin/../conf/zoo.cfgError contacting ...转载 2020-09-15 13:05:51 · 591 阅读 · 0 评论 -
启动zookeeper报错:Starting zookeeper … already running as process
问题详情启动kafuka的时候发现连不上zookeeper,然后发现zookeeper没有启动起来启动zookeeper报错:Starting zookeeper … already running as process产生原因之前没有关闭zookeeper就直接关机了导致出错了解决方法从zookeeper配置文件中找到dataDir文件存储路径:去该路径下将zookeeper_server.pid临时文件删除,再尝试启动服务...原创 2020-09-14 16:07:22 · 2799 阅读 · 1 评论 -
集群初始化
1、 关闭防火墙 禁止防火墙自启service iptables stop2、 修改静态ipvim /etc/sysconfig/network-scripts/ifcfg-eth0DEVICE=eth0NAME=eth0TYPE=EthernetBOOTPROTO=staticONBOOT=yesIPADDR=192.168.32.100NETMASK=255.255.255.0GATEWAY=192.168.32.2DNS1=192.168.32.23、 修改主机名vim /原创 2020-09-13 13:07:11 · 298 阅读 · 0 评论 -
Hadoop 无法启动NameNode节点。报错: Cannot assign requested address
问题描述第一次在云服务器上搭建hadoop环境,启动namenode报错Cannot assign requested address(输入命令并没有报错 是在日志看到的)我的日志放在/opt/module/hadoop-2.7.2/logs里面问题解决修改/etc/hosts 中的映射改为公网ip:xx内网ip:xx例如我的:之后将core-site.xml中的HDFS中NameNode的地址改为内网地址即可...原创 2020-09-11 12:59:24 · 275 阅读 · 0 评论