createtable person(name STRING,age INT)ROW FORMAT DELIMITED FIELDS TERMINATED BY'\t';
맵 파일 (내부 표)
hdfs 아래 표 에 있 는 폴 더 에 파일 복사
로 컬 파일 에 비 추고 load 는 hdfs 의 / user / hiv / warehouse 에 파일 을 자동 으로 저장 합 니 다
load data hdfs 의 데 이 터 는 내부 표 든 외부 표 든 하 이브 리드 표 가 있 는 파일 로 자 릅 니 다.LOAD DATA LOCAL INPATH '/home/hadoop/hfxdoc/person.txt' OVERWRITE INTO TABLE person;
디 렉 터 리 여야 합 니 다. 파일 (hdfs 에서) location 을 사용 할 수 없 으 면 hive 데이터 창고 에서 볼 수 없고 location 을 사용 하지 않 으 면 hive 데이터 창고 에 저 장 됩 니 다 (표 데 이 터 를 삭제 하고 잃 어 버 리 지 않 습 니 다).
구분 표
창설
partition 은 row format 앞 에 두 어야 합 니 다
createexternaltable demo1(id int,name string,age int)partitioned by (month string,day string)row format delimited fields terminated by',';
가 져 온 데이터 증가 파 티 션 시트 가 져 온 데 이 터 를 load data
로 가 져 오 면
load data local inpath '/opt/aa'intotable demo1 partition(month='201808',day='02');
파 티 션 alter table demo 1 add partition (month = '201808', day = '03') 만 생 성 합 니 다.
파 티 션 삭제 alter table demo1 drop partition(month='201808',day='03');
구역 수정 alter table demo1 partition()
조회 데이터 복원 데이터 msck repair table dept_part
구역 수정
altertable demo1 partition(month='201808',day='02')rename to partition (month='201888',day='03');
조회 데이터 select * from demo1 where month='201808' and day = '2';
표 한 장 에 몇 개의 구역 show partitions demo1
이 있 음 을 나타 낸다. 데이터 이동
로 컬 파일 을 Hive 표 load data local inpath 'path / file' 을 table 표 이름 으로 불 러 옵 니 다.
HDFS 파일 을 Hive 표 load data inpath 'path / file' into table 표 이름 으로 불 러 옵 니 다.
데이터 덮어 쓰기 표 에 있 는 데이터 load data local inpath 'path / file' overwrite into table 표 이름 을 불 러 옵 니 다.
표를 만 들 때 select 를 통 해 create table db 를 불 러 옵 니 다.0831.emp_as as select * from emp ;
표를 만 들 때 location 지정 으로 불 러 오기
insert 명령 으로 insert into table 표 이름 select * from emp;insert overwrite table 표 이름 select * from emp;
create table as select 제한. - 목표 표 는 파 티 션 표 가 아니 야. - 목표 표 는 외부 표 가 아니 야. - 목표 표 는 list bucketing 이 아니 야. 데이터 내 보 내기
insert. directory 를 통 해 내 보 내기
insert overwrite local directory "/opt/mydata/exp"row format delimited fields terminated by'\t'select * from emp ;
hdfs 로 내 보 내기
insert overwrite directory “hdfspath/" select * from emp ;
검색 어
필드 추가 hive (test)> alter table t_t2 add columns(n int);
구역 정보 보기 show partitions demo 1;
테이블 이름 ALTER TABLE oldtable name RENAME TO newtablename 을 수정 합 니 다.
앞의 두 줄 만 select * from student limit 2;
한 표 의 줄 수 select count (*) from student 을 통계 합 니 다.
t - t2 에서 최대 값 select max (id) 를 조회 합 니 다.
최소 값 select min (id) 을 t - t2 에서 조회 합 니 다.
조회 평균 값 select avg (id) from t - t2;
조회 총액 select sum (id) from t - t2;
내 접속 조회
select * from t_t1 a join t_t2 b on a.id=b.id;//a 와 b 는 별명
select a.name,b.name from t_t1 a join t_t2 b on a.id=b.id;
sort by
내림차 선택 * from emp sort by sal desc;
order by
id 정렬 에 따라 select * from person order by id;
먼저 id 에 따라 정렬 한 후 name 에 따라 select * from person order by id, name;
내림차 순 정렬 select * from person order by id desc;
오름차 순 배열 select * from person order by id asc;
id 오름차 순, age 내림차 순 select * from person order by id asc, age desc;
group by
id 로 그룹 을 나 누고 sum selection id, sum (age) from person order by id;
여러 줄 을 그룹 으로 나 누 어 selection id, age from person group by id, age;
distribute by
id 로 나 누 어 reduce 하고 id 로 select * from person distribute by id sort by id;
id 로 나 누 어 reduce 하고 age 로 select * from person distribute by id sort by age;
cluster by
Maprediuce 의 파 티 션 select * from person cluster by id 와 유사 합 니 다.select * from person distribute by id sort by id;효과 동일
distribute 와 sort 를 사용 하여 그룹 정렬 하기 select * from person distribute by id sort by age; 복제 표 구조 create table demo1 like demo2; 연표 조회 수정 표
필드 이름 a alter table demo 변경 a 1 int;
변경 테이블 데모 이름 을 새 이름 으로 변경;
명령 보이 기
파 티 션 테이블 정보 표시 show partitions tablename;
현재 버 전 hive 가 지원 하 는 모든 방법 show functions 를 표시 합 니 다.
표 정보 보기 desc extends tablename;
표 정보 보기 (포맷 미관) desc formatted tablename;
데이터베이스 관련 정보 보기 describe databasename;
보기 와 색인
보기 만 들 기 create view viewname as select * from emp where sal > 2000;
조회 보기 select * from viewname
보기 삭제 drop view viewname;
색인 만 들 기 Hive > index 만 들 기test on table emp (empno) as ‘org.apache.hadoop.hive.ql.index.compact.CompactIndexHandler’ with deferred rebuild ;—데이터 재 구축 색인 추가
재 구성 색인 alter indextest on emp rebuild;
색인 삭제 drop indextest on student;
Hive 상용 함수
함수 show functions 가 있 는 지 확인 하기;
rand 함수, 0 에서 1 의 난수 select rand ()
생 성
concat 함수 (문자열 맞 춤 법) select concat (id, name) from person;select concat(id,”_”,name)from person;
substr 함수 (문자열 캡 처) select substr (name, 1, 2) from person;
cast 형식 변환 select cast (1.22 as int);
보기 시간 select hour ('2018 - 9 - 8 13: 21: 23');select day(‘2018-9-8 13:21:23’);
hiveUDF 함수
org. apache. hadop. hive. ql. hiveUDF 함 수 를 계승 해 야 합 니 다
evaluate 함 수 를 실현 해 야 합 니 다. evaluate 함 수 는 과부하 지원
설정 파일 이 잘못 되 었 습 니 다. maven - 오른쪽 키 maven - uodate procject - 스냅 샷 / 릴 리 스 의 force update 를 선택 하 십시오.