본문 바로가기

MySQL

(23)
Hive Metastore not working - Syntax error 'OPTION SQL_SELECT_LIMIT=DEFAULT' at line 1 해당 오류는 Mysql-connector-java 가 5.1.22 버전보다 낮아서 생기는 문제입니다 만약 클러스터에서 해당 오류가 spark,hive등에서 발생하고 있다면, jdbc를 변경해주시면 됩니다 https://community.hortonworks.com/articles/70912/hive-metastore-not-working-syntax-error-option-sql.html 저 같은경우는 1.jdbc를 받은다음 1.ambari-server resources 패치 /var/lib/ambari-server/resource 내의 mysql-connector-java 그리고 각 클라이언트 또는 hive 가 깔린 /usr/hdp/버전/hive/lib 내의 mysql-connetor-java를 해당 ..
[MYSQL] Insert INTO + SELECT + ON DUPLICATE KEY UPDATE 어떤 작업을 하는중이였는데, 40만 row가 들어있는 테이블을 MySQL로 지지고 볶고 있었습니다.필요에 따라서는 테이블간 Join을 하였는데 주변 친한 형님이 왜 그렇게 하냐고 Merge를 하라고 하더군요..찾아보니..MySQL에서는 동일한 기능이 ON DUPLICATE KEY UPDATE 이거였는데,, 결국에는 제가 하는 어떤 작업을 위해서는 Insert + Select + ON DUPLICATE KEY UPDATE 를 같이 써야 되는구조여서 한참 구글링을 하다가 옆나라 블로그에서 찾았네요 .. INSERT INTO total (id,count) SELECT id, count FROM (SELECT id, count FROM daily GROUPBYdate) t ON DUPLICATE KEY UPDA..
sqoop export : For input string: "\N" (From Hive to MySQL) sqoop export 를 할때 For input string: "\N" 해결 할수 있는 방법Sqoop export 옵션에 --input-null-string '\\N' --input-null-non-string '\\N' 추가 2015/10/29 - [Study/--Hadoop Eco(Apache/HDP)] - Sqoop 1.4.6 설치, 사용 예제(Migrating data using sqoop from Mysql to HBase)2015/11/16 - [Study/--Hadoop Eco(Apache/HDP)] - Hive를 이용해서 Rank 구하기2015/12/23 - [Study/--Hadoop Eco(Apache/HDP)] - Sqoop-export : from hive to mysql
MySQl Memory DB Table is Full 환경은 Cetnos 64bit 30GBRAM, MySQL 5.7 버전을 사용하고 있습니다. 많은 텍스트들을 보면 Hadoop MapReduce에서 반복적인 작업은 지양하라고 되어있는데, 현재, 싱글 머신에서 돌리기에는 양이 너무 많아서(쓰레드를 붙이더라도)... MapReduce에 약간의 꼼수를 써서 포팅해서 사용하고 있습니다. 현재 10개의 Hadoop Node에서 총 40개의 Task(MapReduce) 걸었습니다. Map 작업 한번에 총 약 12개 정도의 쿼리를 날립니다. 사실 이 쿼리가 단일 머신에서 할때는 0.55ms 정도 나오는데 10Node로 동시에 Query를 날리니 9s 넘게 걸리더군요.. 물론 제가 쿼리를 엉망으로 만든것은 있습니다. 이러한 문제점을 해결하기 위해, 쿼리에 사용되는 Ta..
Sqoop-export : from hive to mysql 만약 Hive에서 test라는 테이블을 mysql로 옮길때는 1. Hive의 Test와 동일한 Test테이블을 Mysql에 생성2. sqoop 을 이용 sqoop export --connect jdbc:mysql://192.168.1.1/database --username user --password password --table test --export-dir /apps/hive/warehouse/test --input-fields-terminated-by '\001' --lines-terminated-by '\n'
Centos6에서 MySQL 5.1 to 5.7 업그레이드 현재 사용중인 리눅스는 Centos6 64bit 이고 MySQL 버전은 기본 5.1 버전입니다. 5.7로 업그레이드 하기 위해서는 다음과 같은 절차로 진행하시면 되십니다. 먼저 MySQL 사이트에 들어가서 RPM 을 바운받아 YUM repo를 추가합니다. http://dev.mysql.com/downloads/repo/yum/ wget http://dev.mysql.com/get/mysql57-community-release-el6-7.noarch.rpm :: 설치 /etc/init.d/mysqld stop :: mysql 정지 yum remove mysql mysql-server* 기존 mysql 삭제yum install mysql-server :: 5.7 설치 /etc/init.d/mysqld sta..
Hive를 이용해서 Rank 구하기 일단 현재 상황은 MySQL 안에 366996 로우가 들어있는 상황이고, 여기안에 데이터가 있는 상황입니다여기에 데이터가 있는데, 랭킹을 매겨야 하는 상황입니다. select B,T,(select count(*)+1 from 9_Spending_blk where T>t.T) as rank from a_blk as t order by rank asc; SELECT a.B, a.T, count(b.T)+1 as rankFROM 9 a left join 9 b on a.T>b.T and a.B=b.Bgroup by a.B, a.T 통해서 RANK를 구하려고 했는데, 생각보다 느리게 되더군요.... MySQL로 구하는거 포기하고HIVE로 옮긴다음 해봤더니 금방 구할수 있었습니다. 절차는 다음과 같습니다. sqo..
Sqoop 1.4.6 설치, 사용 예제(Migrating data using sqoop from Mysql to HBase) Sqoop2 가 있지만, 1이 익숙한 관계로 다음은 MySQL 에서 Hbase로 Migration 하는 예제 입니다. wget http://mirror.apache-kr.org/sqoop/1.4.6/sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gztar zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha.tar.gzmv sqoop-1.4.6.bin__hadoop-2.0.4-alpha /usr/local/sqoop vim /etc/profile export HBASE_HOME=/usr/local/hbase export SQOOP_HOME=/usr/local/sqoop export PATH=$PATH:$SQOOP_HOME/bin:$HBASE_HOME/bin:$..