table

hive内部表、外部表、分区

房东的猫 提交于 2020-04-06 12:41:44
hive内部表、外部表、分区 内部表(managed table) 默认创建的是内部表(managed table),存储位置在 hive.metastore.warehouse.dir 设置,默认位置是 /user/hive/warehouse 。 导入数据的时候是将文件剪切(移动)到指定位置,即原有路径下文件不再存在 删除表的时候,数据和元数据都将被删除 默认创建的就是内部表 create table xxx (xx xxx) 外部表(external table) 外部表文件可以在外部系统上,只要有访问权限就可以 外部表导入文件时不移动文件,仅仅是添加一个metadata 删除外部表时原数据不会被删除 分辨外部表内部表可以使用 DESCRIBE FORMATTED table_name 命令查看 创建外部表命令添加一个external即可,即 create external table xxx (xxx) 外部表指向的数据发生变化的时候会自动更新,不用特殊处理 表分区(Partitioned table) 有些时候数据是有组织的,比方按日期/类型等分类,而查询数据的时候也经常只关心部分数据,比方说我只想查2017年8月8号,此时可以创建分区 使用 partioned by (xxx) 来创建表的分区,比方说 create table table_name ( id int,

HBase架构原理详情

家住魔仙堡 提交于 2020-04-06 12:38:49
本文从网上看到的,自己看过了,同时收藏下!感谢分享! HBase定义 HBase 是一个高可靠、高性能、面向列、可伸缩的分布式存储系统,利用Hbase技术可在廉价PC Server上搭建 大规模结构化存储集群。    HBase 是Google Bigtable 的开源实现,与Google Bigtable 利用GFS作为其文件存储系统类似, HBase 利用Hadoop HDFS 作为其文件存储系统;Google 运行MapReduce 来处理Bigtable中的海量数据, HBase 同样利用Hadoop MapReduce来处理HBase中的海量数据;Google Bigtable 利用Chubby作为协同服务, HBase 利用Zookeeper作为对应。 HBase 的特点 HBase 中的表一般有以下特点。 1)大:一个表可以有上亿行,上百万列。 2)面向列:面向列表(簇)的存储和权限控制,列(簇)独立检索。 3)稀疏:对于为空(NULL)的列,并不占用存储空间,因此,表可以设计的非常稀疏。 HBase 访问接口 HBase 支持很多种访问,访问HBase的常见接口如下。 1、Native Java API,最常规和高效的访问方式,适合Hadoop MapReduce Job并行批处理HBase表数据。 2、HBase Shell,HBase的命令行工具,最简单的接口

[ Leetcode ] No.460 LFU缓存

家住魔仙堡 提交于 2020-04-06 12:20:41
题目: 请你为 最不经常使用(LFU)缓存算法设计并实现数据结构。它应该支持以下操作:get 和 put。 get(key) - 如果键存在于缓存中,则获取键的值(总是正数),否则返回 -1。 put(key, value) - 如果键不存在,请设置或插入值。当缓存达到其容量时,则应该在插入新项之前,使最不经常使用的项无效。在此问题中,当存在平局(即两个或更多个键具有相同使用频率)时,应该去除 最近 最少使用的键。 「项的使用次数」就是自插入该项以来对其调用 get 和 put 函数的次数之和。使用次数会在对应项被移除后置为 0 。 题解: 这题其实不会做... 先记录 有机会重新写过 struct Node { int key, val, fre; Node(int x, int y, int z): key(x), val(y), fre(z) {} }; class LFUCache { public: int cap, minfreq; unordered_map<int, list<Node>::iterator> stuff; unordered_map<int, list<Node>> fre_table; LFUCache(int capacity) { cap = capacity; minfreq = 0; stuff.clear(); fre_table

第三章 数据表的基本操作

十年热恋 提交于 2020-04-06 08:41:36
第 三 章 数据表的基本操作 4.1 创建数据表 在创建完数据库之后,接下来我们就需要创建数据表。创建数据表是指在已经创建好的数据库中建立新表。创建数据表的过程是规定数据列的属性的过程,同时也是实施数据完整性约束的过程。 4.1.1 创建表的语法形式 数据表属于数据库,在创建数据表之前,应该使用语句 “USE < 数据库名 >” 指定操作是从哪个数据库中进行,如果没有选择数据库,会报错 语法: CREATE TABLE < 表名 > ( 字段名 1 , 数据类型 [ 列级别约束条件 ] [ 默认值 ] , 字段名 2 , 数据类型 [ 列级别约束条件 ] [ 默认值 ] , ... ... ): 例如: mysql> CREATE TABLE tb_emp1 -> ( -> id INT(11), -> name VARCHAR(25), -> deptId INT(11), -> salary FLOAT -> ); Query OK, 0 rows affected (0.08 sec) mysql> SHOW TABLES; +----------------+ | Tables_in_test | +----------------+ | tb_emp1 | +----------------+ 1 row in set (0.05 sec) 4.1.2 使用主键约束

Oracle对表的基本操作

送分小仙女□ 提交于 2020-04-06 08:19:51
表名应该以字母开头,可以在表名中包含数字,下划线,#和$等。 一、创建表: 第一种:直接创建 create table 表名 ( field1 type[(size)] [index1], field2 type[(size)] [index2], ......, [[multifieldindex],...] ) 第二种:从其他表中创建表 create table 表名 as select语句.但是这个select语句如果涉及到long数据类型,就不行了。 创建表时,把较小的不为空的字段放在前面。可以给字段加上约束条件。 添加列 alter table 表名 add 列定义 更改列 alter table 表名 modify (列名 新属性, ......); 删除列 alter table 表名 drop column 列名s [ cascade constraint ] alter table 表名 drop unused colunm 未用列 alter table 表名 set unused column 列名 [ cascade constraint ] 更改表名 rename 原来表名 to 新表名 删除表 drop table 表名 [ cascade constraints ] 删除表后,表上的索引,触发器,权限,完整性约束等都会被删除。 二、表的约束条件 1.

MySQL——1

为君一笑 提交于 2020-04-06 07:09:29
学习 0.Mysql 介绍 1.是用于管理文件的一个软件 1.服务端软件 -socket服务端 -本地文件操作 -解析指令 2.客户端软件 -socket客户端 -发送指令 -解析指令 PS:数据库管理系统DBMS 2.类似软件 sqllite,db2,oracle,access,sql,server,Mysql,MongDB,redis 分类:关系型数据库:sqllite,db2,oracle,access,sql,server,Mysql 非关系型数据库:MongDB,redis1.Mysql 安装 windows: 1.下载安装包 2.防止任意目录 3.初始化:\bin\mysqld --initialize-insecure 4.启动服务端 5.客户端连接 \bin\mysqld -u root -p 6.发送指令: 1.show databases 2.create databases db1 7.环境变量的配置 ...\bin 8.windows服务 ...\bin\mysqld --install ...\bin\mysqld --remove 命令:net start mysqld net stop mysqld2.关于连接 1.文件夹-文件-数据行 数据库- 表 - 行 2.连接 1.默认用户:root 2.创建用户:create user 'username'@

hibernate----N-N--(人与地点)

浪尽此生 提交于 2020-04-06 00:43:15
package com.ij34.dao; import java.util.HashSet; import java.util.Set; import javax.persistence.*; @Entity @Table(name="people_inf") public class People implements java.io.Serializable{ private static final long serialVersionUID = 1L; @Id @Column(name="people_id") @GeneratedValue(strategy=GenerationType.IDENTITY) private Integer id; private String name; private int age; @ManyToMany(targetEntity=Address.class) //与另一个相比,没有mappedBy="people" @JoinTable(name="people_address" ,joinColumns=@JoinColumn(name="peopleId" ,referencedColumnName="people_id") ,inverseJoinColumns=@JoinColumn(name="addressId"

将存储过程的结果插入临时表

泪湿孤枕 提交于 2020-04-05 20:52:23
问题: How do I do a SELECT * INTO [temp table] FROM [stored procedure] ? 如何 SELECT * INTO [temp table] FROM [stored procedure] 进行 SELECT * INTO [temp table] FROM [stored procedure] ? Not FROM [Table] and without defining [temp table] ? 不是 FROM [Table] ,也没有定义 [temp table] ? Select all data from BusinessLine into tmpBusLine works fine. 从 BusinessLine Select 所有数据到 tmpBusLine 可以正常工作。 select * into tmpBusLine from BusinessLine I am trying the same, but using a stored procedure that returns data, is not quite the same. 我正在尝试相同的方法,但是使用返回数据的 stored procedure 并不完全相同。 select * into tmpBusLine from exec

基于.NetCore3.1搭建项目系列 —— 使用Swagger导出文档 (番外篇)

a 夏天 提交于 2020-04-05 18:45:33
前言 回顾之前的两篇 Swagger做Api接口文档 ,我们大体上学会了如何在net core3.1的项目基础上,搭建一套自动生产API接口说明文档的框架。 本来在Swagger的基础上,前后端开发人员在开发生产期间,可以借此进行更加便捷的沟通交流。可是总有些时候,遇到一些难缠的,又不讲道理,偏偏觉得将Swagger文档地址丢给客户会不够正式!死活要一份word文档。 可是这个时候,如果接口数量上百个,甚至更多,一个一个手动输入word,那将是一笔耗时的工作。但却有什么办法可以解决呢? 对了,利用Swagge生成的Json文件转换为word文档不就可以了吗? 思路 1. 获取Swagger接口文档的Json文件 2. 解析Json文件数据填充到Html的表格中 3.根据生成的html转work文档 模板 文档模板 URL /api/Movie/AddMovie 请求方式 Post 参数名 参数类型 是否必填 说明 id Query False 影视ID Name Query False 电影名称 Type Query False 电影类型 状态码 说明 200 Success 示例 请求参数 返回值 开始 一、根据Swagger版本获取Json数据 1.通过Swagger源码文件可以看到 可以拿到swagger生成的文档数据

慎用create table as select,不会copy约束,主键什么东东都不会复制

自作多情 提交于 2020-04-05 18:34:04
1、再做一些数据迁移时候,很多人会使用create table as select * from table where id=-1的方式来年建立一摸一样的表,但是这样做有个很大的弊端,不能将原表中的default value也一同迁移过来。 2、 Using the CREATE TABLE ... AS SELECT ... command: This command will copy acrooss to the new table all the data,but the constraints triggers ,and so on will not be transferred to the new table. 那些都是not null约束,其他的约束和trigger是带不过来了,严格说来not null也是约束的一种,只不过教材上把它排除在外了吧。 慎用create table as select,一定要注意默认值的问题 博客分类: Oracle oracle create talbe as select 数据库迁移 再做一些数据迁移时候,很多人会使用create table as select * from table where id=-1的方式来年建立一摸一样的表,但是这样做有个很大的弊端,不能将原表中的default value也一同迁移过来