빅 데이터 의 하 이브 노트 (1)
7699 단어 토비 원 의 원숭이블 로그 칼럼
SQL
SQL HDFS ,
1、hdfs
, RDBMS 。
RE
2、hdfs 、 、 、
hdfs --->rdbs
hdfs ( ) -->rdbs
test.db
person
test1.db
person
package a
person.java
package b
person.java
Hive 의 개념 Hive 는 데이터 창고 의 기초 구조 인 데이터 창고 와 데이터 의 비교 1. 데이터 창고 에 저 장 된 데 이 터 는 회사 의 각 단계 의 의사 결정 에 데 이 터 를 지탱 할 수 있 는 데이터 2. 데이터 창고 에 저 장 된 데 이 터 를 마음대로 수정 할 수 없고 어느 정도 에 역사 history 의 데 이 터 를 저 장 했 기 때문에 어느 정도 에데이터 창고 안의 데 이 터 를 기본적으로 조회 하 는 것 입 니 다. 그러면 OLAP (Online analysis processing 온라인 분석 과정) 작업 도 데이터베이스 에 있 는 select 작업 DW (Data Warehouse EDW, DWH – > 데이터 창고) 는 OLTP (Online transcation processing 온라인 사무 처리) 에 적용 되 지 않 습 니 다.의 조작 3, DW 의 구축 은 어느 정도 에 RDBSM 을 바탕 으로 ETL Extraction (추출, 채집) Transformation (변환) Loading (로드) Hive 를 구축 하 는 것 입 니 다. SQL 의 분석 엔진 Hive 는 오늘 가장 중요 한 기능 은 데이터 창고 의 구축 * selectname, age, sex from person 을 담당 하 는 것 입 니 다. – > hdfs
메타 정보
Hive 의 Hadoop MySQL JDK 설치 MySQL 첫 번 째 단계: linux 위의 mysql 제거 이후 1, rpm - qa | grep mysql mysql - libs - 5.1.71 - 1. el6. x86 64 2, rpm - e – nodeps
rpm -qa | grep mysql
추천 사용 또는 rpm - e – nodeps mysql - libs - 5.1.71 - 1. el6. x86 64 두 번 째 단계: rpm - ivh MySQL - server. xxx. rpm rpm rpm - ivh MySQL - client. xxx. rpm 실행 설정 스 크 립 트: / usr / bin / mysql secure install 세 번 째 단계: 권한 부여 [root@master soft]# mysql -h master -uroot -proot ERROR 1130 (HY000): Host 'master' is not allowed to connect to this MySQL server 사용 mysql - urot - proot 로그 인 권한 부여 mysql > grant all privileges on. to 'root' @ '%' identified by 'root'; mysql > flush privileges; 네 번 째 단계: 부팅 항목 chkconfig mysql on 주의: 온라인 으로 설치 되 어 있 으 면 mysql 서비스 이름 은 mysqld 주의: [root@mastersoft] \ # rpm - qa | grep mysql – > 맞 춤 형 온라인 설치 방식[root@mastersoft] \ # rpm - qa | grep MySQL – > 오프라인 설치 방식
Hive
, /opt/hive
cp conf/hive-env.sh.template conf/hive-env.sh
cp conf/hive-default.xml.template conf/hive-site.xml
hive-env.sh,
export JAVA_HOME=/opt/jdk
export HADOOP_HOME=/opt/hadoop
export HIVE_HOME=/opt/hive
$HIVE_HOME/conf/hive-site.xml
javax.jdo.option.ConnectionURL
jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
javax.jdo.option.ConnectionUserName
root
javax.jdo.option.ConnectionPassword
root
hive.querylog.location
/opt/hive/tmp
hive.exec.local.scratchdir
/opt/hive/tmp
hive.downloaded.resources.dir
/opt/hive/tmp
bin/hive
(e.g. ./schematool -initSchema -dbType ...==>
bin/schematool -initSchema -dbType mysql -userName root -passWord root
mysql-connector-java-5.1.39.jar $HIVE_HOME/lib/
:Found Class jline.Terminal, but interface was expected
jline.jar ,
cp HIVEHOME/lib/jline−2.12.jar HADOOP_HOME/share/hadoop/yarn/lib
hive.metastore.warehouse.dir
/user/hive/warehouse
dw hdfs
Hive :
bin/hive -f /opt/data/hive-data/hive-demo.hql
bin/hive -e "show databases; use default; show tables; select * from tttt;"
, -e -f !!!
bin/hive -S -e "show databases; use default; show tables; select * from tttt;" > /opt/data/hive-data/result.csv
"" hql slient , /opt/data/hive-data/result.csv
bin/hive -f /opt/data/hive-data/hive-demo.hql --hiveconf hive.cli.print.header=true
hive-demo.hql set hive.cli.print.header=true;
bin/hive -e "show databases; use default; show tables; select * from tttt;" --hiveconf hive.cli.print.header=true
"" set hive.cli.print.header=true;
Hive hdfs linux
linux
! ;
eg. !pwd;
/opt/hive
hdfs:
dfs -ls /;
hive (default)> dfs -ls /;
Found 5 items
drwx------ - root supergroup 0 2016-10-27 19:55 /history
drwxr-xr-x - root supergroup 0 2016-10-28 00:45 /input
drwxr-xr-x - root supergroup 0 2016-10-28 02:46 /out
drwxr-xr-x - root supergroup 0 2016-10-30 22:02 /tmp
drwxr-xr-x - root supergroup 0 2016-10-30 23:05 /user
select w.word, count(w.word) as count from (select explode(split(line, ” “)) word from tttt) w
group by w.word order by count;
Hive 표 의 조작 표 구조의 조작 create table student (id int), student 에 열 또는 다 열 필드 alter table student add columns (name string, birthday date, online boolean) 를 추가 하고 원래 표 의 필드 정보 alter table student replace columns (id int) 를 교체 합 니 다.; 메모: 특정한 열 을 삭제 하 는 것 은 지원 되 지 않 습 니 다. replace 라 는 방식 으로 곡선 을 통 해 나 라 를 구 할 수 있 습 니 다. 열의 유형 이나 이름 을 수정 할 수 있 습 니 다.
alter table student change column id sid string;
Hive
, \001-->shell ctrl+v,ctrl+a
create table student(id int, name string, birthday date, online boolean);
load data local inpath '/opt/data/hive-data/stu.txt' into table student;
, ,
NULL。
?
, 。
Hive 。
, 。
?
。
create table stu(
id int,
name string,
birthday date,
online boolean
) row format delimited -->
fields terminated by '\t' -->
line terminated by '; – > 줄 의 구분자 가 지정 되 어 있 습 니 다. 기본 값 은 Liux 파일 줄 구분자 와 일치 합 니 다. 모두
Hive 의 복잡 한 데이터 형식 array create table t arr (id int, name string, hobby array)row format delimited fields terminated by '\ t'; load data local inpath '/ opt / data / hive - data / hive - array. txt' overwrite into table t arr; 데이터 가 모든 hobby 의 내용 을 정확하게 표시 하지 못 한 것 을 발 견 했 습 니 다. 분석 을 한 결과 실질 적 으로 array 에 해당 하 는 구분자 가 지정 되 지 않 았 거나 표 내용 의 구분자 가 지정 되 지 않 았 습 니 다. ""기본 구분자 가 아 닙 니 다. array 배열 요소 간 의 기본 구분자 가 \ 002 – > ctrl + v ctrl + b create table t arr 1 (id int, name string, hobby array) row format delimited fields terminated by '\ t' collection items terminated by ',' select hobby [index] from tblName 입 니 다. array 의 요소 map create table t map 에 접근 합 니 다.( id int, name string, score map
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
[POI 2010] PIL - Pilots (BZOJ 2096)단조 로 운 대열 낙 곡 제목 전송 문 BZOJ 제목 전송 문 물 을 젓다 두 바늘 로 밀어 서 단조 로 운 대기 열 유지 최대 최소 값 입 니 다. 코드:...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.