use ljh;
hadoop fs -put /home/test_user/t_access.txt /user/hive/warehouse/ljh.db/t_access
load data inpath '/user/hive/warehouse/ljh.db/t_access/t_access.txt' into table t_access;
2.year(‘2021-03-03’)里面传入的时间应为string,并以-分隔,取到的类型为int,20210303这样不行,这样取时间只能用substr分割。
3.impala不支持collect_ws,explode函数, 应该用行转列group_concat(cast(ucount as string)),转成字符串,使用GROUP_CONCAT时会将数值类型的数据转化成二进制BLOB类型,可以用CAST(expr AS type)函数或CONVERT(expr, type)函数将数值类型的数据转化成字符串
4.concat(a,b),a,b应为字符串类型
5.no matching function with signature:concat(TINYINT,TINYINT) SQL出现这种报错是传入的tinyint类型不匹配,需要检查类型或用cast转换类型
6.show create table a;查看建表语句
7.show tables like ‘t1’;模糊查找
8.查看cdh的kafka版本号
9.impala表操作
修改impala/hive表注释
ALTER TABLE 表名 SET TBLPROPERTIES(‘comment’ = ‘表注释内容’);
修改impala/hive表字段注释
ALTER TABLE 表名 CHANGE 列名 新的列名 新列名类型 COMMENT ‘列注释’;
修改表名
alter table 表名 rename to 新表名
增加表字段
ALTER TABLE 表名 add COLUMNS(id int,name string);
删除表字段
ALTER TABLE 表名 DROP [COLUMN] 字段名;
删除分区
alter table 表名 drop partition(biz_date=时间)
10.impala使用order by排序后,insert到结果表后是无序的,所以此时用order by排序没意义,会报warning,会提示除非加上limit,但是warning不影响执行结果。
11.增量源表是整个表取opdate最新。全量采是biz_date分区里opdate最新
1.impala不支持从本地导入数据,只能从大数据平台将数据导入loaduse ljh;hadoop fs -put /home/test_user/t_access.txt /user/hive/warehouse/ljh.db/t_accessload data inpath '/user/hive/warehouse/ljh.db/t_access/t_access.txt' into table t_access;2.year(‘2021-03-03’)里面传入的时间应为string,并以
初leetcode的two sum 题中排序坑死, 枉费好长时间
no matching function for call to 'sort(std::vector::iterator
sort(,,.,,., cmp);
当时确信代码正确, 类型更是比对好久, 总是提示这个错误.
后来才发现, cmp函数要定义在类的外面,
cmp()
{...}
1. 对于档案表,不要做分区,对轨迹数据表,推荐一个分区数据需要大于1GB,一搬情况下按日期的年或者月来做分区,以方便管理。
2. 碰撞比对不需要字段,不要创建到impala表中,比如常住人口表碰撞比对只要10列,但源表有50更,只要创建10列表就行。
3. 数据导入或者更新后,执行compute stats table_name获取最新统计信息。
4. 碰撞的时候,检查集群所有
1.1 什么是Impala
Cloudera公司推出,提供对HDFS、HBase数据的高性能、低延迟的交互式SQL查询功能。
基于
Hive,使用内存计算,兼顾数据仓库、具有实时、批处理、多并发等优点。
是CDH平台首选的PB级大数据实时查询分析引擎。
1.2 Impala的优缺点
1.2.1 优点
1)基于内存运算,不需要把中间结果写入磁盘,省掉了大量的I/O开销。
2)无需转换为Mapreduce,直接访问存储在HDFS,HBase中的数据进行作业调度,速度快。
3)使用了
stEnv.registerFunction("SplitLine",new SplitLine("_"));
//报错SqlValidatorException: No match found for function signature SplitLine(<CHARACTER>)
Table result = stEnv.sqlQuery("SELECT name,
use XXX;(数据库名字)
alter table xxx(表名) change xxx(要更改的列名) xxx(更改后的列名) string(更改后的类型) COMMENT'xxxxx注释’;
mysql 基础MYSQLmysql 运算符mysql 数值类型mysql 日期时间类型mysql 字符串类型mysql 数据库操作mysql 表操作mysql 聚合函数mysql 日期时间函数mysql 字符串函数mysql 字符串转成数字mysql 判断函数mysql 数学函数mysql 系统信息函数mysql 加密函数
MYSQL
mysql 运算符
= 等于
众所周知slice、splice、substring、substr都是用来截取字符串的,但是很多同学很懵,现在我们来探讨一下他们的用法和区别
一下API均来自lib.es5.d.ts
slice
slice(from?: number, end?: number): T[],从这句typescript代码不难看出,slice可以传两个参数,并且这两个参数都是可选的,返回一个泛型数组(传递过来得是啥...