首页技术insert overwrite?insert a cassette

insert overwrite?insert a cassette

编程之家2026-07-021049次浏览

大家好,今天来为大家解答insert overwrite这个问题的一些问题点,包括insert a cassette也一样很多人还不知道,因此呢,今天就来为大家分析分析,现在让我们一起来看看吧!如果解决了您的问题,还望您关注下本站哦,谢谢~

insert overwrite?insert a cassette

怎样设置Insert键

【背景描述】

家里这台机用起来一大不习惯之处就在于键盘的结构(当然,把键盘当成机子的一部分未免过于牵强)。和学校那边那台的主要不同之处就在于中间功能键部分的排列,那一个是3×4的(顶部一排是power、sleep和wakeup),而家里这个是3×3的,更甚的是主键区、功能键区和数字键区三个键区居然是没有间隔的。这样一来,退格键<-和Insert键就并在一块了,这对于误键率极高的我来说简直是一个灾难。退格键按错为Insert键,不但删不了东西,而且把输入状态变成了改写,却又没有状态指示,错上加错,几近崩溃。屡屡的出错终于让我痛下决心,要想方设法解决这个问题。

【问题分析】

Insert键是以前文本命令式操作系统中常用的功能切换按键,用于切换Insert/Overwrite状态。事实上现在用的人已经很少了,只是因为标准和习惯保留了下来,这样的键盘结构设计是不够科学的。在现在这种多媒体系统普及的环境下,比起更多常用的系统功能,Insert键(还有同样极少用到的Scroll Lock、Pause Break等键)早就应该退出它的历史舞台,让位给其他的功能了。

而且,与Caps Lock、Scroll Lock、Num Lock不同,Insert/Overwrite状态完全没有状态指示,只是在一些文本编辑器(如记事本、Word等)的状态栏中有这么一个小格显示状态而已,可是又有谁去注意呢。甚至于没有用过Overwrite状态的人还要郁闷好久,为什么打一个字后面的字会消失了,摸不着头脑。

其实为了改进键盘结构,生产商也不是没有花过心思。近年来新式键盘层出不穷,结构也千变万化,确实都以科学、舒适为出发点。长退格,小回车,多媒体键,等等都是改进措施。但是正因为缺少一个标准,反而让用户无从适应,每换一个键盘都要花上一段时间来习惯。

insert overwrite?insert a cassette

【解决方法】

搜索一下可以找到一些方法,不外乎下面几种:

1、直接拔掉Insert键的键帽,以绝后患。这么做也太绝了,像我这么爱护东西的人怎么忍心做这种事。

2、用超级兔子设置,超级兔子魔法设置->个性化->键盘->屏蔽/重设键位。失败,还出错(按退格键变成0),原因不解。

3、用软件KeyTransformation,可以屏蔽按键、设置任意按键映射、设置组合键映射、设置按键序列映射等等,功能十分强大。但主要问题是必须在软件运行时设置才会起作用,不爽。

4、用软件KeyTweak,可以通过修改注册表的方法屏蔽和重映射键盘键位。这个方法最好,但是我又觉得直接这么做太表层了,应该研究得更深入一点。

insert overwrite?insert a cassette

下面附一个KeyTweak的下载地址,安装设置过程都很简单很人性化。如果嫌麻烦或者下载不了,可以把下面分隔线内的文本保存为.reg文件,然后执行写入注册表,重启系统即可。

----------我是一条分隔线,请不要复制我----------

Windows Registry Editor Version 5.00

[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout]

"Scancode Map"=hex:00,00,00,00,00,00,00,00,03,00,00,00,0e,00,d2,00,0e,00,52,e0,00,00,00,00

----------我是一条分隔线,请不要复制我----------

如果是其他的键位映射,还是老老实实用KeyTweak设置吧,或者看看下面的深入研究部分,也会有相应的解决方案。好,问题到这里基本解决了。

【深入研究】

在KeyTweak中查看映射信息,可以看到下面的对话框。

按照对话框中的信息找到注册表中对应的项HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Keyboard Layout,果然有一个键Scancode Map,键值正是对话框中的二进制信息:00,00,00,00,00,00,00,00,03,00,00,00,0e,00,d2,00,0e,00,52,e0,00,00,00,00。搜索一下这个项和键名,找到了一些关于Windows键盘扫描码重映射的文章,这时才一下明朗了。

原来这个键在注册表里是不存在的,创建后重启,系统会自动调用这个键值进行键位扫描码重映射,否则按照默认的映射标准响应键盘事件。下面有两篇文章详细介绍了Windows键位扫描码映射的原理和方法,有兴趣的可以参考研究一下。另一篇是键盘上键位的扫描码表,转为16进制后可以直接用于上面的重映射方法。

hive的几种文件格式

hive文件存储格式包括以下几类:

1、TEXTFILE

2、SEQUENCEFILE

3、RCFILE

4、ORCFILE(0.11以后出现)

其中TEXTFILE为默认格式,建表时不指定默认为这个格式,导入数据时会直接把数据文件拷贝到hdfs上不进行处理;

SEQUENCEFILE,RCFILE,ORCFILE格式的表不能直接从本地文件导入数据,数据要先导入到textfile格式的表中,然后再从表中用insert导入SequenceFile,RCFile,ORCFile表中。

前提创建环境:

hive 0.8

创建一张testfile_table表,格式为textfile。

create table if not exists testfile_table( site string, url string, pv bigint, label string) row format delimited fields terminated by'\t' stored as textfile;

load data local inpath'/app/weibo.txt' overwrite into table textfile_table;

一、TEXTFILE

默认格式,数据不做压缩,磁盘开销大,数据解析开销大。

可结合Gzip、Bzip2使用(系统自动检查,执行查询时自动解压),但使用这种方式,hive不会对数据进行切分,

从而无法对数据进行并行操作。

示例:

create table if not exists textfile_table(

site string,

url string,

pv bigint,

label string)

row format delimited

fields terminated by'\t'stored as textfile;

插入数据操作:set hive.exec.compress.output=true;

set mapred.output.compress=true;

set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;

set io.compression.codecs=org.apache.hadoop.io.compress.GzipCodec;

insert overwrite table textfile_table select* from textfile_table;

二、SEQUENCEFILE

SequenceFile是Hadoop API提供的一种二进制文件支持,其具有使用方便、可分割、可压缩的特点。

SequenceFile支持三种压缩选择:NONE,RECORD,BLOCK。Record压缩率低,一般建议使用BLOCK压缩。

示例:

create table if not exists seqfile_table(

site string,

url string,

pv bigint,

label string)

row format delimited

fields terminated by'\t'stored as sequencefile;

插入数据操作:set hive.exec.compress.output=true;

set mapred.output.compress=true;

set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;

set io.compression.codecs=org.apache.hadoop.io.compress.GzipCodec;

SET mapred.output.compression.type=BLOCK;insert overwrite table seqfile_table select* from textfile_table;

三、RCFILE

RCFILE是一种行列存储相结合的存储方式。首先,其将数据按行分块,保证同一个record在一个块上,避免读一个记录需要读取多个block。其次,块数据列式存储,有利于数据压缩和快速的列存取。

RCFILE文件示例:

create table if not exists rcfile_table(

site string,

url string,

pv bigint,

label string)

row format delimited

fields terminated by'\t'stored as rcfile;

插入数据操作:set hive.exec.compress.output=true;

set mapred.output.compress=true;

set mapred.output.compression.codec=org.apache.hadoop.io.compress.GzipCodec;

set io.compression.codecs=org.apache.hadoop.io.compress.GzipCodec;

insert overwrite table rcfile_table select* from textfile_table;

四、ORCFILE()

五、再看TEXTFILE、SEQUENCEFILE、RCFILE三种文件的存储情况:

[hadoop@node3~]$ hadoop dfs-dus/user/hive/warehouse/*hdfs://node1:19000/user/hive/warehouse/hbase_table_1 0

hdfs://node1:19000/user/hive/warehouse/hbase_table_2 0

hdfs://node1:19000/user/hive/warehouse/orcfile_table 0

hdfs://node1:19000/user/hive/warehouse/rcfile_table 102638073

hdfs://node1:19000/user/hive/warehouse/seqfile_table 112497695

hdfs://node1:19000/user/hive/warehouse/testfile_table 536799616

hdfs://node1:19000/user/hive/warehouse/textfile_table 107308067

[hadoop@node3~]$ hadoop dfs-ls/user/hive/warehouse/*/-rw-r--r-- 2 hadoop supergroup 51328177 2014-03-20 00:42/user/hive/warehouse/rcfile_table/000000_0-rw-r--r-- 2 hadoop supergroup 51309896 2014-03-20 00:43/user/hive/warehouse/rcfile_table/000001_0-rw-r--r-- 2 hadoop supergroup 56263711 2014-03-20 01:20/user/hive/warehouse/seqfile_table/000000_0-rw-r--r-- 2 hadoop supergroup 56233984 2014-03-20 01:21/user/hive/warehouse/seqfile_table/000001_0-rw-r--r-- 2 hadoop supergroup 536799616 2014-03-19 23:15/user/hive/warehouse/testfile_table/weibo.txt-rw-r--r-- 2 hadoop supergroup 53659758 2014-03-19 23:24/user/hive/warehouse/textfile_table/000000_0.gz-rw-r--r-- 2 hadoop supergroup 53648309 2014-03-19 23:26/user/hive/warehouse/textfile_table/000001_1.gz

总结:

相比TEXTFILE和SEQUENCEFILE,RCFILE由于列式存储方式,数据加载时性能消耗较大,但是具有较好的压缩比和查询响应。数据仓库的特点是一次写入、多次读取,因此,整体来看,RCFILE相比其余两种格式具有较明显的优势。

Hive(五)DML数据操作

语法:

(1)load data:表示加载数据

(2)local:表示从本地加载数据到hive表;否则从HDFS加载数据到hive表

(3)inpath:表示加载数据的路径

(4)overwrite:表示覆盖表中已有数据,否则表示追加

(5)into table:表示加载到哪张表

(6)student:表示具体的表

(7)partition:表示上传到指定分区

案例:

 2)导入本地数据

 3)查看person表数据

 2)清空 person表数据; truncate table person;

 3)查看person表清空情况(已经没有数据了)

 4)导入 HDFS数据到 person表中

 5)重新查询 person表,查看数据情况

 2)导入HDFS,无需添加 local

 3) row format delimited fields terminated by'\t';

语法:insert into<table><表名><查询语句>

案例:

创建一张新表:create table if not exists person2(id int,name string,phone string);

将 person表中id为 1和3的数据插入到 person2表中。

查询person2表数据

方式二:into overwrite

语法:insert overwrite table<表名><查询语句>

测试之前重新准备一张表

向 person6表中添加数据。

数据结果

注意:使用 insert overwrite后面必须加上 table,否则报错

注意

语法:create table [if not exists]<表名> as<查询语句>

根据查询结果创建表(查询的结果会添加到新创建的表中)

案例:

按照person表的结果创建person3表

查询 person3

注意:使用查询结果创建数据表时,需要加入关键字

管理表

语法:create table [if not exists]<表名>(字段信息) row format delimited fields terminated by<分割符>location<加载数据路径>

案例:加载person表的数据。

查询 person数据加载的地址

创建 person4表并设置 person表的数据路径。

查询 person4表信息;person4中的表数据全部来自于person表。

外部表

创建一个管理表 t1

向管理表t1中添加一条数据

创建t2并指定t1数据的加载地址

查询 t2表

删除 t1表

再次查询 t2表

验证 t1为外部表时,删除t1表时,是否会删除数据。

重新创建 t1表

向t1中添加数据3

创建 t2(原来的给删除了)并指定为外部表,并加载 t1的数据路径

查询 t1表结构(验证是否为外部表

查询 t2数据(有数据2)

删除t1表

查询 t2表(数据并没有删除)

更加深刻理解管理表和外部表之间的区别。

语法:import table<全新的表名> from'<Export导出的地址>';

查询 person_import表

查看家目录,生成了一个 aaa目录,目录中有一个 000000_0文件

查看 000000_0文件;正好是 person表中的数据。

注意:这里的 overwrite并不是可选项(可加不可加),这里必须加上overwrite,否则会报错。

查看 000000_0文件;使用了制表符,对数据进行格式化。

查看/aaa/000000_0文件

查看person_bak文件

语法:hive-e"<sql语句>"><输出路径>

案例:

查看家目录中的 person_bak

语法:export table<表名> to'<HDFS地址>'

案例:将 person表的数据导出到 HDFS/person2中

查看/person2的层次结构

查看/person2/data/person

关于insert overwrite和insert a cassette的介绍到此就结束了,不知道你从中找到你需要的信息了吗 ?如果你还想了解更多这方面的信息,记得收藏关注本站。

layuiadmin?AdminLTE和layui比较web中input属性,htmlinput属性设置