table

hive中四种排序的区别

女生的网名这么多〃 提交于 2020-03-12 09:37:03
hive中有四种排序,分别是:order by,sort by,distribute by(重点),cluster by order by:全局排序,但是只能有一个reduce来处理,在严格模式下必须指定limit,否则会报错,在数据量很大的时候,处理时间会很长甚至跑不出数据,慎用! sort by:对每个reduce端的结果进行排序,但是不对全局进行排序,可以设置mapred.reduce.tasks>1的时候,对每个reduce中的数据进行排序 distribute by(重点):distribute by 类似于sql中的group by,它的作用是把distribyte by 后面的列划分到不同的reduce中去(默认hash),一般搭配sort by使用,例如 select table.a,table.b from table distribute by table.a sort by table.b asc 上述例子的作用是把a列分组,散发到不同的reduce中处理,然后再对每个reduce中的数据将b列进行排序(注意最终的结果只是每个reduce排序,总体不排序) 那么如何才能做到对整个结果进行排序但是效率更高呢? 我们不妨来这样做 select * from (select table.a,table.b from table distribute by table

ASP.NET MVC使用Bootstrap系统(2)——使用Bootstrap CSS和HTML元素

試著忘記壹切 提交于 2020-03-12 07:52:07
Bootstrap提供了一套丰富CSS设置、HTML元素以及高级的栅格系统来帮助开发人员快速布局网页。所有的CSS样式和HTML元素与移动设备优先的流式栅格系统结合,能让开发人员快速轻松的构建直观的界面并且不用担心在较小的设备上响应的具体细节。 Bootstrap 栅格(Grid)系统 在移动互联网的今天,越来越多的网站被手机设备访问,移动流量在近几年猛增。Bootstrap 提供了一套响应式、移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列。 栅格参数 Bootstrap 3提供了一系列的预定义class来指定列的尺寸,如下所示: Bootstrap 栅格系统被分割为12列,当布局你的网页时,记住所有列的总和应该是12。为了图示,请看如下HTML所示: <div class="container"> <div class="row"> <div class="col-md-3" style="background-color: green;"> <h3>green</h3> </div> <div class="col-md-6" style="background-color: red;"> <h3>red</h3> </div> <div class="col-md-3" style="background-color:

记一次数据持久层的问题

霸气de小男生 提交于 2020-03-12 07:39:38
Mapper父类的方法: / ** * 根据表名和ID获取对象 * @param tableName 表名 * @param id ID * @ return 对象信息 * / @Select ( value = { "<script>" + " Select * from ${tableName} where id=#{id}" + " </script>" } ) Map getObjById ( @Param ( "tableName" ) String tableName , @Param ( "id" ) String id ) ; 实体的父类: @Data @Slf4j @MappedSuperclass @EqualsAndHashCode ( callSuper = false ) public class BaseBean implements Serializable { @Id @Column ( name = "id" , length = 36 ) // 主键i private String id ; @Column ( name = "name" , length = 255 ) // 名字 private String name ; @Column ( name = "data" , length = 5000 ) // 配置化参数 private

天猫项目(11)订单管理

帅比萌擦擦* 提交于 2020-03-12 07:11:07
这里主要有两个实体,一个是订单项,是对product的多对一,产品生成多个订单项,一个用户也可以有多个订单项,一个订单也可以有多个订单项,这是对订单项的er图分析,另外一个是订单,一个订单由多个订单项组成,一个用户可以有多个订单,这是对订单的er图分析 然后这里的页面要实现的功能,一个就是查询订单的功能,这个可以靠查询订单的订单项完成,然后根据所有订单项的数据计算出订单的一些书信和;另外一个则是发货功能,这里会记录下订单的很多状态,这里其实最难实现的是这个,也是这个模块的重点 1.pojo OrderItem public class OrderItem { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) @Column(name = "id") private int id; @ManyToOne @JoinColumn(name = "pid") private Product product; @ManyToOne @JoinColumn(name = "oid") private Order order; @ManyToOne @JoinColumn(name = "uid") private User user; private int number; } 没啥可说的,和三个表多对一映射 Order

buuctf [SWPU2019]Web1 记录

为君一笑 提交于 2020-03-12 06:28:51
注册进去发现可以发广告,这种格式不是sql注入就是xss漏洞。 可以发现是存在的。后面用beef发现没用,并不是窃取cookie信息来登录后台 试试sql注入 在标题上进行判断 可以发现标题存在sql注入,往后面试,发现%23和--+ 不能闭合。 我们可以在后面加上别的 可以发现,上图 ''1'' 和这边的 '322' 1’是我们输入的内容。 多加个单引号构造 "1"' 让语句闭合 进行联合查询的时候发现过滤了空格 可以用/**/绕过(之前试试了括号但觉得好奇怪,不理解为什么报错) 1 '/**/union/**/select/**/1,2,3/**/' 往后面一直加,发现加到22列 1 '/**/union/**/select/**/1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22/**/' 发现2,3那可查 查询库名的时候发现被过滤了, 可能是from和information被过滤了,查资料 (select/**/group_concat(table_name)/**/from/**/mysql.innodb_table_stats) 学到一个新姿势,mysql.innodb_table_stats查询表名 还可用sys.schema_auto_increment_columns /**** ( select /*

20200311——java面试集合 深入HashMap 二

扶醉桌前 提交于 2020-03-12 03:53:43
ArrayList、Vector、LinkedList的存储性能和特性 ArrayList 和Vector都是使用数组方式存储数据 ,此数组元素数大于实际存储的数据以便增加和插入元素,它们都允许直接按序号索引元素,但是插入元素要涉及数组元素移动等内存操作,所以索引数据快而插入数据慢,Vector中的方法由于添加了synchronized修饰,因此Vector是线程安全的容器,但性能上较ArrayList差,因此已经是Java中的遗留容器。 LinkedList使用 双向链表 实现存储(将内存中零散的内存单元通过附加的引用关联起来,形成一个可以按序号索引的线性结构,这种链式存储方式与数组的连续存储方式相比,内存的利用率更高), 按序号索引数据需要进行前向或后向遍历 ,但是插入数据时只需要记录本项的前后项即可,所以插入速度较快。 TreeMap的底层实现 TreeMap 的实现就是红黑树数据结构,也就说是一棵自平衡的排序二叉树,这样就可以保证当需要快速检索指定节点。 红黑树的插入、删除、遍历时间复杂度都为O(lgN),所以性能上低于哈希表。但是哈希表无法提供键值对的有序输出,红黑树因为是排序插入的,可以按照键的值的大小有序输出。红黑树性质: 性质1:每个节点要么是红色,要么是黑色。 性质2:根节点永远是黑色的。 性质3:所有的叶节点都是空节点(即 null),并且是黑色的。 性质4

MySQL计划任务(事件调度器)(Event Scheduler)

筅森魡賤 提交于 2020-03-12 01:55:50
http://www.cnblogs.com/c840136/articles/2388512.html https://dev.mysql.com/doc/refman/5.7/en/events-configuration.html MySQL5.1.x版本中引入了一项新特性EVENT,顾名思义就是事件、定时任务机制,在指定的时间单元内执行特定的任务,因此今后一些对数据定时性操作不再依赖外部程序,而直接使用数据库本身提供的功能。 要查看当前是否已开启事件调度器,可执行如下SQL: SHOW VARIABLES LIKE 'event_scheduler'; 或 SELECT @@event_scheduler; 或 SHOW PROCESSLIST; 若显示: +-----------------+-------+ | Variable_name | Value | +-----------------+-------+ | event_scheduler | OFF | +-----------------+-------+ 则可执行 SET GLOBAL event_scheduler = 1; 或 SET GLOBAL event_scheduler = ON; 来开启,也可以直接在启动命令加上“–event_scheduler=1”,例如: mysqld ... -

SQL注入详解

↘锁芯ラ 提交于 2020-03-11 17:02:08
今天跟大家分享SQL注入的知识。 前言 先来看一副很有意思的漫画: 相信大家对于学校们糟糕的网络环境和运维手段都早有体会,在此就不多做吐槽了。今天我们来聊一聊SQL注入相关的内容。 1 何谓SQL注入? SQL注入是一种非常常见的数据库攻击手段,SQL注入漏洞也是网络世界中最普遍的漏洞之一。大家也许都听过某某学长通过攻击学校数据库修改自己成绩的事情,这些学长们一般用的就是SQL注入方法。 SQL注入其实就是恶意用户通过在表单中填写包含SQL关键字的数据来使数据库执行非常规代码的过程。简单来说,就是数据「越俎代庖」做了代码才能干的事情。 这个问题的来源是,SQL数据库的操作是通过SQL语句来执行的,而无论是执行代码还是数据项都必须写在SQL语句之中,这就导致如果我们在数据项中加入了某些SQL语句关键字(比如说SELECT、DROP等等),这些关键字就很可能在数据库写入或读取数据时得到执行。 多言无益,我们拿真实的案例来说话。下面我们先使用SQLite建立一个学生档案表。 SQL数据库操作示例: import sqlite3 连接数据库: conn = sqlite3 . connect ( 'test.db' ) 建立新的数据表: conn . executescript ( '' 'DROP TABLE IF EXISTS students ; CREATE TABLE

11.table妙用--文字居中

只谈情不闲聊 提交于 2020-03-11 13:12:17
display:table和table-cell是如何让多行文字垂直居中的 .parent { display : table ; margin : 0 auto ; text-align : center ; width : 200px ; height : 300px ; border : 1px solid red ; } .son { display : table-cell ; height : 210px ; vertical-align : middle ; } .son i { font-style : normal ; background : red ; } </style> <div class = "parent" > <p class = "son" > <i> Lorem </i> ipsum dolor sit amet, consectetur adipisicing elit. Consequuntur veritatis necessitatibus accusamus, consequatur deserunt numquam placeat ipsam ipsa rem perferendis enim vitae ut molestias sapiente accusantium modi praesentium nam aliquam.

Spring Boot MyBatis

不想你离开。 提交于 2020-03-11 10:17:57
Spring Boot 整合 Druid 概述 Druid 是阿里巴巴开源平台上的一个项目,整个项目由数据库连接池、插件框架和 SQL 解析器组成。该项目主要是为了扩展 JDBC 的一些限制,可以让程序员实现一些特殊的需求,比如向密钥服务请求凭证、统计 SQL 信息、SQL 性能收集、SQL 注入检查、SQL 翻译等,程序员可以通过定制来实现自己需要的功能。 Druid 是目前最好的数据库连接池,在功能、性能、扩展性方面,都超过其他数据库连接池,包括 DBCP、C3P0、BoneCP、Proxool、JBoss DataSource。Druid 已经在阿里巴巴部署了超过 600 个应用,经过多年生产环境大规模部署的严苛考验。Druid 是阿里巴巴开发的号称为监控而生的数据库连接池! 引入依赖 在 pom.xml 文件中引入 druid-spring-boot-starter 依赖 com.alibaba druid-spring-boot-starter 1.1.10 1 2 3 4 5 引入数据库连接依赖 mysql mysql-connector-java runtime 1 2 3 4 5 配置 application.yml 在 application.yml 中配置数据库连接 spring: datasource: druid: url: jdbc:mysql://ip