自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(127)
  • 收藏
  • 关注

原创 spark读取嵌套json代码测试示例

示例一示例数据:{"name":"zhangsan","age":18,"scores":[{"yuwen":98,"shuxue":90,"yingyu":100},{"dili":98,"shengwu":78,"huaxue":100}]}{"name":"lisi","age":19,"scores":[{"yuwen":58,"shuxue":50,"yingyu":78},{"dili":56,"shengwu":76,"huaxue":13}]}{"name":"wangwu","ag

2021-05-12 22:50:20 379

转载 大文件处理方案

处理海量数据问题,无非就是:分而治之/hash映射 + hash统计 + 堆/快速/归并排序;Bloom filter/Bitmap;Trie树/数据库/倒排索引;外排序;分布式处理之hadoop/mapreduce。本文接下来的部分,便针对这5种方法模式结合对应的海量数据处理面试题分别具体阐述。密匙一、分而治之/hash映射 + hash统计 + 堆/快速/归并排序1、海量日志数据,提取出某日访问百度次数最多的那个IP。既然是海量数据处理,那么可想而知,给我们的数据那就一定是海量的。针对

2021-03-16 09:48:44 933

原创 Mysql项目实践常用操作汇总(不断更新)

MySQL1、主键,索引,引擎CREATE TABLE `表名` ( `列名1` int(11) NOT NULL, `列名2` varchar(255) NOT NULL, .... PRIMARY KEY (`主键1`,`主键2`,`主键3`...), KEY `索引名` (`列名1`,`列名2`...) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8;tips: PRIMARY KEY (`主键1`,`主键2`,`主键

2020-11-12 10:58:24 539 1

原创 Hive项目实践常用操作汇总(不断更新)

Hive1、分隔符前后字段截取Tips:mysql的3种字段截取;1、`SUBSTR(s, start, length)从字符串 s 的 start 位置截取长度为 length 的子字符串从字符串 RUNOOB 中的第 2 个位置截取 3个 字符:`SELECT SUBSTR("RUNOOB", 2, 3) AS ExtractString; -- UNO2、`SUBSTRING(s, start, length)从字符串 s 的 start 位置截取长度为 length 的子字符串从字符串

2020-11-12 09:08:48 708

原创 Linux项目实践中常用操作汇总(不断更新)

Linux1、linux查看时间,可写入脚本中datedate -d 0day +%Y%m%d显示前1小时的时间 date +%Y%m%d%H -d '-1 hours' 显示前1天的时间date +%Y%m%d -d '-1 days'daySelect=`date +%Y%m%d -d '-1 days'`如果是shell脚本需要使用时间的话,使用时记得加单引号,否则会有换行符,无法使用。2、linux查看日志/文件内容less 文件/日志名shift + G 跳至最后

2020-11-11 10:25:54 510 2

原创 Mysql--GROUP BY xxxx WITH ROLLUP用法

GROUP BY xxxx WITH ROLLUP– GROUP BY xxxx WITH ROLLUP 是为了算出所有聚合函数的总结果SELECT day FROM dim_5g_cell_info GROUP BY day;SELECT day FROM dim_5g_cell_info GROUP BY day WITH ROLLUP;SELECT day,SUM(ant_engine_angle) FROM dim_5g_cell_info GROUP BY day;SELECT coa

2020-11-11 10:20:20 210

原创 Mysql--查询时使用SQL将字段的数据类型转换(varchar->int)

查询时使用SQL将数据类型转换在sql里面String转int(相互),sql中,将int数据类型如何转换为string用convert函数或者cast函数convert(varchar(20),'')cast('' as varchar(20))我的表里有3个int型的列a、b、c,希望把他们连成一个string型的列a-b-cselect ltrim(a)+'-'+ltrim(b)+'-'+ltrim(c) as dselect cast(a as varchar)+'-'+cas

2020-11-11 10:18:52 10667

原创 Myswl--查询表信息

查询表信息SELECT COLUMN_NAME 列名, DATA_TYPE 字段类型, CHARACTER_MAXIMUM_LENGTH 长度, IS_NULLABLE 是否为空, COLUMN_COMMENT 备注FROM INFORMATION_SCHEMA.COLUMNSWHERE table_name = '表名';

2020-11-11 10:17:48 227

原创 Mysql--两表join时的on和where区别

两表join时的on和where区别表A join 表B----条件–on—> 临时表—where—> 结果表on是作为临时表的筛选条件,where作为最终表的筛选条件总结一:1.where 是在两个表join完成后,再附上where条件;2.and 则是在表连接前过滤A表或B表里面哪些记录符合连接条件,同时会兼顾是left join还是right join。即假如是左连接的话,如果左边表的某条记录不符合连接条件,那么它不进行连接,但是仍然留在结果集中(此时右边部分的连接结果为NU

2020-11-11 10:16:44 1628

原创 Mysql--备份表结构和数据

备份表结构和数据将数据库的A表快速备份到B表中:方法1:DROP TABLE IF EXISTS B;CREATE TABLE B LIKE A;INSERT INTO B SELECT * FROM A;方法2:SELECT * INTO A_copy FROM A;

2020-11-10 09:53:45 1680

原创 Mysql--删除数据

删除数据– 删除除白沙外的所有行数据:delete from 表名 where 字段名 <>‘xx’;– 删除除白沙、北京外的数据:delete from 表名 where 字段名 not in(‘xx’,‘oo’);– 或者delete from 表名 where 字段名 <>‘xx’ and 字段名<>‘oo’;...

2020-11-10 09:52:33 109

原创 Mysql--在原有表结构上添加字段并赋值

在原有表结构上添加字段并赋值加字段SQL:alter table tasktemplate add TaskType varchar(50);给新加字段赋值:update tasktemplate set TaskType=‘AUTOTEST’;update test1 set if_top=1 where pro=844;注释:给表tasktemplate 加一字段 TaskType 并且赋值为‘AUTOTEST’;ALTER TABLE tbnameADD COLUMN state TI

2020-11-10 09:51:22 5217

原创 Mysql--导入数据(本地+HDFS数据入库)

导入数据在mysql中建好表后,导入数据的时候使用了2种方法1)由txt/xlsx/xls文件导入网上步骤一步一步进行即可,地址链接https://jingyan.baidu.com/article/48a420571a6f71a9242504fe.htmlTips:使用该方法遇到的问题: 1、使用txt文档导入数据时,即使txt文档数据和表字段一一选好,但还是会出现错位的情况,不知为何在他导入的时候会自己重新排插入表字段的顺序,还是会对应不上; 2、使用xlsx/xls导入数据时,字段缺少

2020-11-10 09:49:55 1019

原创 Mysql--主键,索引,引擎

主键,索引,引擎CREATE TABLE `表名` ( `列名1` int(11) NOT NULL, `列名2` varchar(255) NOT NULL, .... PRIMARY KEY (`主键1`,`主键2`,`主键3`...), KEY `索引名` (`列名1`,`列名2`...) USING BTREE) ENGINE=InnoDB DEFAULT CHARSET=utf8;tips: PRIMARY KEY (`主键1`,`主键2`,`主键3`...)

2020-11-10 09:43:35 174

原创 Hive--array<< struct >>字段结构查询

Hive库array<< struct >>字段结构查询建表相关语句: `sector_set` array<struct<gnb_id:int,cell_id:int,mr_count:bigint,rsrp_avg:double,sn:int,dist:int,cell_name:string>> COMMENT 'TOP5', `sector_set`字段数据表现形式:[{"gnb_id":7799206,"cell_id":2,"mr_co

2020-11-10 09:39:55 2562

原创 Hive--!= 和 <> 和 is not null区别和使用

!= 和 <> 和 is not null//不会查出字段是null的数据SELECT * FROM table WHERE IsDeleted <> true AND name LIKE '%%' ;SELECT * FROM table WHERE IsDeleted != true AND Name LIKE '%%';//可以查出字段是null的数据SELECT * FROM table WHERE IsDeleted is not true AND name L

2020-11-10 09:36:40 5160

原创 Hive--添加/更改表字段类型

Hive添加表字段新增字段表alter table 表名 add columns(字段名 数据类型)alter table table_name add columns (c_time string comment '当前时间');-- 正确,添加在最后alter table table_name change c_time c_time string after address; -- 正确,移动到指定位置,address字段的后面Hive更换已有表字段类型Hive 表修改字段类型

2020-11-10 09:32:13 10074

原创 Hive--清除/删除Hive表数据,where条件

清除Hive表数据hive删除表:drop table table_name;hive删除表中数据:truncate table table_name;hive按分区删除数据:alter table table_name drop partition (partition_name='分区名')全表: 1、删除内部表中数据(保留表结构) truncate table 表名; 2、删除外部表中数据(保留表结构) hdfs -dfs -rm -r 外部表路径 drop tabl

2020-11-10 09:29:56 14791 1

原创 Hive--OR-AND使用方法

OR-AND数据源: 1,22 1,21 2,22 1,20select * from id_age where (id=1 or id =2) and age=22;表示: 查询id=1,同时age=22或者id=2,同时age=22的数据,数据只要id=1或者id=2都要加age=22这个条件 即id=1 and age=22/id=2 and age=22显示结果: 1,22 2,22 select * from id_age where id=1 or id =2 an

2020-11-10 09:27:24 4236 1

原创 Hive--count(distinct)多字段问题

count(distinct)多字段问题select count(distinct(字段a | 字段b)) from 表名;

2020-11-09 17:37:56 1761

原创 Hive--数据导出Hive

– Hive导出数据hive -e “SQL;” | tr “行间分隔符” “字段间分隔符” >> 路径/导出文件格式hive -e “select * from table1;” | tr “\t” “|” >>/home/data/a.txt

2020-11-09 17:36:43 141

原创 Hive--数据从MySQL -> Hive

数据从MySQL -> Hive设计思路:1、从mysql表结构转hive表结构;2、从mysql导出表数据;3、将数据移至到hive的机器上;4、hive分区导入数据;5、导入错误时可删除HDFS路径上的数据源和删除错误数据的分区。这里字段间用的分隔符是|1、从mysql表结构转hive表结构;建表2、从mysql导出表数据;mysql -账号-p 密码 -e "select * from 表名 " | tr "\t" "|" >> /home/hadoop/sa

2020-11-09 17:31:07 122

原创 Hive--提交脚本参数选择

Hive提交脚本参数选择-hivevar : 传参数 ,专门提供给用户自定义变量。-hiveconf : 传参数,包括了hive-site.xml中配置的hive全局变量。1)hiveconfhiveconf用于定义HIVE执行上下文的属性(配置参数),可覆盖覆盖hive-site.xml(hive-default.xml)中的参数值,如用户执行目录、日志打印级别、执行队列等,常用的配置属性如下:参数名称 和 参数解释hive.metastore.warehouse.dir 启动时指定用户目录,

2020-11-09 17:24:46 602

原创 Hive--提交脚本步骤

Hive提交脚本步骤上面的hive.sql执行中会有三个参数,需要后期的变动,下面给出执行命令hive -f /root/sql/ruu1.sql --hivevar province_id=844 --hivevar daySelect=`date +%Y%m%d -d '-9 days'` --hivevar province_name='广东'hive -f /root/sql/ruu1.sql -d province_id=844 -d daySelect=`date +%Y%m%d -d

2020-11-09 17:22:47 864

原创 Hive--HDFS数据和本地数据导入hive表

1、HDFS数据导入Hive表以及表修复a.将数据传到HDFS#创建文件夹hadoop fs -mkdir -p /user/hive/warehouse/stg/test/bus_date=20191101 #将本地文件传到hive建表时的hdfs路径下hadoop fs -put /opt/datas/test.txt(要上传的文件) /user/hive/warehouse/stg/test/bus_date=20191101(上传的目标文件夹)tips: 若是需要将文件夹数据全部导入

2020-11-09 17:16:52 4585

原创 Hive--建表以及表字段分隔符

Hive建表以及表字段分隔符Tips: 1.最后一个字段不需要加逗号; 2.external 是外部表的标志,不加关键字则是内部表,外部表删不掉数据。一般做测试表的话建议建内部表,删除方便; 3.分区字段 partition by('XXXX' TYPE,'OOOO' TYPE...)不能出现在创建表时的字段中,换句话说,分区字段字段也是新的字段,在别的表中用的时候和普通字段使用方法是一样的;建表语句示例:CREATE external TABLE `table1`( `name` str

2020-11-09 17:12:58 3602

原创 mysql实用汇总-mysql分隔符字段截取+hive分隔符字段截取

分隔符前后字段截取Tips:mysql的3种字段截取;1、`SUBSTR(s, start, length)从字符串 s 的 start 位置截取长度为 length 的子字符串从字符串 RUNOOB 中的第 2 个位置截取 3个 字符:`SELECT SUBSTR("RUNOOB", 2, 3) AS ExtractString; -- UNO2、`SUBSTRING(s, start, length)从字符串 s 的 start 位置截取长度为 length 的子字符串从字符串 RUNOOB

2020-11-09 17:00:48 753

原创 查看mysql分区名和各分区数据量

– 查看mysql分区名和各分区数据量SELECT table_name, partition_name, table_rowsFROM information_schema.PARTITIONSWHERE table_name=‘test2_partition’;

2020-11-06 12:29:35 1931

原创 Spark 总结项目一---\r: 未找到命令警告 & 脚本jar执行报错Error:Unable to access jarfile

八、 linux脚本执行:\r: 未找到命令警告 & Error:Unable to access jarfile第一个\r: 未找到命令警告,是因为你所执行的脚本是在win环境下编辑后放在集群上执行的sh脚本,此时需要安装dos2unix执行原因分析:在windows下编写的shell.sh脚本,上传到服务器,存在多余的空格或换行,导致报错解决办法,安装dos2unix安装dos2unix yum install dos2unix使用dos2unix对脚本转换 dos2unix x

2020-10-16 14:57:13 920

原创 Spark 总结项目一---报错:bigger than spark.driver.maxResultSize

七、spark集群报错:bigger than spark.driver.maxResultSize难点报错代码20/09/15 15:21:32 ERROR scheduler.TaskSetManager: Total size of serialized results of 423 tasks (4.0 GB) is bigger than spark.driver.maxResultSize (4.0 GB)Exception in thread "main" org.apache.spa

2020-09-25 14:39:17 1889

原创 Spark 总结项目一---报错:GC overhead limit exceeded & thread task-result-getter-2

六、spark集群报错:GC overhead limit exceeded & thread task-result-getter-2难点:集群提交spark报错代码xxxxxx20/09/16 03:58:51 WARN scheduler.TaskSetManager: Stage 26 contains a task of very large size (1319 KB). The maximum recommended task size is 100 KB.20/09/1

2020-09-25 14:37:43 978

原创 Spark 总结项目一---不同测试环境下项目不能执行

五、项目部署难点:​ 项目在实验室部署没有意外,顺利运行跑出结果,但是提交集团之后会有2大问题,这里记录一下1、操作hive数据库找不到表和数据库;2、使用SparkSession/SparkContext操作数据库报错序列化问题;解决方案:1、因为我的项目中是不需要连接hive的,代码是部署上去直接操作spark-shell的,所以没有使用到任何配置文件,所以无关乎hive和hdfs配置文件是否存在的问题;​ 在提交的过程中也是用过这样的方法,在submit提交的时候,添加 --files

2020-09-25 14:36:03 126

原创 Spark 总结项目一---IDEA-Scala打jar包报错、jar包太小问题

四、IDEA-Scala打jar包报错难点:​ 1、因为是第一次打包scala项目,以至于打出来的jar包没有scala的代码,所以没有添加对应的scala-tool打包的pom;​ 2、在项目打包的时候,IDEA会出现点击package后代码,没编译成功的情况,所以包还是原来的那个包并没有更新。​ 3、项目打包,出现版本IDEA和Win使用的scala版本不符错误,百度后指出是版本问题,但是查证版本后发现两者版本相同。解决方案:​ 1、导入pom文件中的以下scala-tool,打包问题自然解

2020-09-25 14:33:52 3137

原创 Scala 总结项目一---Spark连接不上Hive以及scala代码中bigInt类型报错问题

二、Scala连接Hive出现问题难点:​ 原项目是没有用到Hive的连接使用,所以要自己找连接的方法,我查看网上的连接方法,都是将Hive的配置文件 hive-site.xml 放在resoures下,然后配置连接conf,但是这套代码怎么着也连不上。解决方案:​ 和杨大哥沟通后,一直没有解决这个问题的方法,后来他说了一番话:你连接Hive也是为了操作表,你直接读取HDFS的文件路径可以转成DataFream然后进行SparkSql操作的啊。所以就转换了思路,不再去纠结如何连接Hive,选择直接将

2020-09-25 14:31:23 947

原创 Spark 总结项目一---相同数据源不同计算结果?

Scala 项目总结项目简介​ 接手项目是省Scala代码,需要转换成适合集团开发环境的代码,但是执行过程中遇到很多问题,以此记录。难点和解决方案一、相同数据源不同计算结果?难点:​ 首先拉了2批测试数据,但是在省环境下使用相同代码没有跑出结果,这也是我整个项目中最难受的地方,环境一样,代码一样为什么跑出来的结果不一样呢?也想着很多地方都没辙去解决这个问题。解决方案:​ 仔细分析了1天时间,发现是数据源的问题,但是就算和省环境对照相同的数据源但还是有少许数据依旧对不上,后来和省环境开发人员(

2020-09-25 14:25:05 534

原创 关于postgres数据库导入osm图层后,QGIS多边形显示不正常详细处理方案

关于postgres数据库导入osm图层后,QGIS多边形显示不正常详细处理方案本文章只介绍SQL部分,如有其它需要请联系小编。SQL处理过程如下:-- 1、如要在QGIS中显示查询结果需要在查询前建表,SQL如下,此时表university查询的是含大学字样的地点CREATE TABLE `university` AS SELECT * from planet_osm_polygon_copy WHERE "name" LIKE '%大学%' ;-- 2、将不规则的地图区域(SRID格式数据

2020-08-11 09:30:33 603

原创 MySQL函数专场

MySQL函数专场函数本帖主要是汇总菜鸟和几位大牛的MySQL相关函数文章,下面附链接网址: 菜鸟: https://www.runoob.com/mysql/mysql-functions.html 其他: https://www.jianshu.com/p/fc627da82bb9 https://www.cnblogs.com/LUO77/p/5880053.html https://blog.csdn.net/qq_33730348/article/details/798655

2020-06-04 11:19:00 560

原创 Java+SQL+MySQL+Hive存储过程汇总

Java+SQL+MySQL+Hive存储过程汇总存储过程概念​ 在我们做一个复杂的项目时,会多次涉及到与数据库的连接,这时我们会一次次的来用SQL语句进行对数据库的连接,但如果我们这时用存储过程的话就只需要连接一次数据库就可以了,从而省去大量的SQL语句。存储过程的优点1、加快运行速度​ 对于很简单的sql,存储过程没有什么优势。对于复杂的业务逻辑,因为在存储过程创建的时候,数据库已经对齐进行了一次解析和优化。存储过程一旦执行,在内存中就会保留一份这个存储过程,这样下次再执行同样的存储过程时,可

2020-05-27 16:54:55 1340

原创 SQL常见雷区,函数,优化,执行顺序,使用技巧汇总

SQL常见雷区,函数,优化,执行顺序,使用技巧汇总一、sql使用技巧1、去重统计select count(distinct 去重字段) from 表2、字段别名和 group by踩这个坑还是很难受的,亏得公司的学长看出来了,希望下次不要再入坑了。sql1: select d.cellid,d.num from( select z.cellid,avg(z.rsrp) as num from data_zlwc z where z.ce

2020-05-26 09:28:05 1335

原创 SparkSQL阿里技术下午茶

SparkSQL阿里技术下午茶Spark性能一、Catalyst 优化器层面Analyzer:解析一些SparkSQL不认识的节点、元素等,最终得到解析后的节点、元素Optimizer:优化,例如谓词下推,列裁剪、常量折叠等Planner:将逻辑执行计划转换成物理执行计划CoceGen:物理执行计划的代码优化,表达式功能​ 将上层产生的逻辑执行计划经过一些解析和相关规则的优化生成...

2020-03-17 11:12:34 183

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除