1.关闭防火墙应该如何操作?
首先,切换到root用户
su - root
然后,关闭防火墙和禁止防火墙自启动
systemctl stop firewalld.service
systemctl disable firewalld.service
2.修改IP时,需要更改哪个文件?
vim /etc/sysconfig/network-scripts/ifcfg-ens33
第四行修改为BOOTPROTO=“static”
3.hive中复杂的数据类型有哪些?
struct,map,array
4.尝试写出hive中创建表的完整语法
create [external] table if not exists 表名
(列名 数据类型 [comment 本列注释],...)
[comment 表注释]
[partitioned by (列名 数据类型 [comment 本列注释],...)]
[clustered by(列名,列名,...)]
[sorted by (列名 [asc|desc],...)] info num_buckets buckets]
[row format row_format]
[stored as file_format]
[location hdfs_path]
[tblproperties (property_name=property_value,...)]
[as select_statement]
说明:
①external表示创建外部表;hive在创建内部表时,会将数据移动到数据仓库指向的路径;若创建外部表,
仅记录数据所在的路径,不对数据的位置做任何改变
②partitioned by表示创建分区表
③clustered by创建分桶表
④sorted by 不常用
⑤row format delimited [fields terminated by char] [collection items terminated
by char] [map keys terminated by char] [line terminated by char]
⑥stored as 指定文件存储类型(sequencefile二进制文件、textfile文本文件、rcfile列式存储格式)
⑦location 指定表在hdfs上的存储位置
⑧like 允许用户复制现有的表结构,但是不复制数据
⑨as 后跟查询语句,根据查询结果创建表
5.内部表和外部表的区别
目前所创建的表都是所谓的管理表,有时也被称为内部表,因为这种表,Hive会(或多或少地)控制着数据的生命周期。当删除一个管理表时,Hive也会删除这个表中数据,管理表不方便和其他工作共享数据。
- 用关键字external说明
- 指定外部表存放的数据的路径
- 如果不指定外部表的存放路径,Hive将在HDFS上的/user/hive/warehouse文件夹下以外部表名创建
一个文件夹,并且将属于这个表的数据都存放在这里 - 当删除一个外部表时,只会删除表的元数据信息,而不会删除数据。
- 在生产中一般创建外部表来存储数据
6.如何清除hive表中的数据
truncate table 表名;
7.静态分区表和动态分区表有什么区别?
静态分区与动态分区的主要区别在于静态分区是手动指定,而动态分区是通过数据来进行判判断;
静态分区的列是在编译时期,通过用户传递列名来指定的;动态分区只有在SQL执行时才能决定。
8.hive的严格模式限制了哪几种查询
1)对于分区表,where后面要含有分区过滤条件;
2)对于使用order by 语句的查询,要求必须使用limit进行限制查询;
3)限制笛卡尔积的查询
9.如何将HDFS中的数据导入到hive表中
load data inpath 'HDFS上的路径' into table 表名 [partition(partcol1=val1,....)];