一、load操作
|
1.不支持LOCAL关键字,不能load本地文件,只能load HDFS中的文件。
2.同一张表不能同时存在压缩与非压缩格式的文件
3.load操作是一个move操作。hive从本地磁盘的load操作是copy操作。
4. hdfs文件夹中的load操作不会move隐藏文件。
5.load后文件名会保留下来,如果有名称冲突,会把新move的文件改名,而在hive里面会直接覆盖。
6.快速查看文件所在hdfs位置:
DESCRIBE FORMATTED
table_name
7.如果表是多个分区的,load的时候必须指定所有的分区。
8.如果想要做Impala-shell 的loadbanlance操作,可以使用
SYNC_DDL
,这样在下一个查询被提交前对每一个impala node的metastore做更新。
9.impala1.2后,在impala一个节点所有的操作都会通知其他节点的守护进程,而不需要刷新表。
10.impala支持的文件格式:Textfile、RCFile、parquet、sequencefile。
11.支持的压缩格式:Gzip、BZip、snappy。
12.impala守护进程与statestore维持着长连接,以便获取每个节点的信息,是否能接受新任务。
13.catalog守护进程监控着其他impala节点对数据库的操作
14.当statestore挂了,其他impala节点仍然可以运行,但是如果一个节点挂了,其他节点不会被告知。当statestore重启后,重新建立与各个impala守护进程的联系。
15.statestore与catalog频繁通信,最好放在同一个节点上。
16.impala各个节点缓存了所有impala节点的metadata。
17.impala不支持删除单行操作。
{
In fact, Impala doesn’t actually support deleting single records from a table. Instead you have to use the “INSERT OVERWRITE” command again and use a clever where clause to create the result set you want.
}
18.修改表名
ALTER TABLE [old_db_name.]old_table_name RENAME TO [new_db_name.]new_table_name
19.hive连接beeline:beeline -u "jdbc:hive2://10.1.33.23:10000/default" -nbi -pbi_1473
20.impala连接:beeline -u "jdbc:hive2://10.1.33.23:21050/default;" -nbi -pbi_1473
21.模拟update使用:
INSERT
or
CREATE TABLE AS SELECT from where ...,hive从1.4开始已经支持update操作。
22.impala多是io密集型,当impala查询超出内存限制,会kill掉一些查询请求。
23.
查询 Parquet 表时需要相对较少的内存,因为 Impala 以 8MB /块来进行读取和解压缩数据。而向 Parquet 表插入数据则是内存密集型操作,因为每一个数据文件(最大大小为 1GB)的数据被放在内存中,直到编码、压缩并写入硬盘。
24.
最终的结果集是否使用 ORDER BY 子句来排序。请记住,
Impala 要求所有包含的 ORDER BY 子句的查询同时包含 LIMIT 子句(有待验证)
,或者在语句中直接包含,或者隐式的通过 DEFAULT_ORDER_BY_LIMIT 查询选项设置来实现。每一个 Impala 节点扫描并过滤总数据的一部分,并且对他们自己那部分数据应用 LIMIT。中间结果集 (包含最大 LIMIT 行记录)都发送回协调节点,在上面执行最终的排序并对最终结果集应用 LIMIT 子句。例如,假如你执行查询
25.
在查询完成之后,在
<
|


393

被折叠的 条评论
为什么被折叠?



