혹시나 저 같은 이슈를 겪고 있는 분들을 


Hbase와 Hive를 연동할수 있는것처럼 MongoDB 를 Hive에 연동하여 사용할수 있습니다


https://github.com/mongodb/mongo-hadoop/wiki/Hive-Usage


이곳에서 라이브러리를 받아서 사용하시면, 되십니다.


mongo-hadoop-core.2.0.1.jar 

mongo-hadoop-hive-2.0.1.jar 

mongo-java-driver-3.2.1.jar




FAILED: Execution Error, return code 1 from org.apache.hadoop.hive.ql.exec.DDLTask. org/bson/conversions/Bson 


추가적으로 다음 에러는 mongo-java-driver-3.2.1.jar 없어서 나오는 에러 입니다. 저 같은경우 제실수로 mongo-drvier를 사용해서 계속 오류가 났네요


http://rmoff.net/2016/06/15/classnotfoundexception-with-mongodb-hadoop-in-hive/




reference : 써티웨어(Certiware), http://certiware.co.kr

저작자 표시 비영리 변경 금지
신고
  1. test 2016.11.17 09:32 신고

    test

잠깐 일때문에 Mongodb를 보고 있었는데, 


몽고디비 안에 document 생성시간을 알아야될 필요가 생겼습니다.


생각해보니 따로 date필드를 만들어 시간값을 넣은것도 아니고....


찾아보니 document생성할때 기본적으로 생성되는 _id로 시간을 구할수 있다고 하네요


https://steveridout.github.io/mongo-object-time/ 사이트에가서 생성된 _id를 집어넣으면 자동적으로 시간으로 변환해줍니다. 





저작자 표시 비영리 변경 금지
신고
SQL Statement Mongo Query Language Statement
CREATE TABLE USERS (a Number, b Number) Implicit or use MongoDB::createCollection().
INSERT INTO USERS VALUES(1,1) $db->users->insert(array("a" => 1, "b" => 1));
SELECT a,b FROM users $db->users->find(array(), array("a" => 1, "b" => 1));
SELECT * FROM users WHERE age=33 $db->users->find(array("age" => 33));
SELECT a,b FROM users WHERE age=33 $db->users->find(array("age" => 33), array("a" => 1, "b" => 1));
SELECT a,b FROM users WHERE age=33 ORDER BY name $db->users->find(array("age" => 33), array("a" => 1, "b" => 1))->sort(array("name" => 1));
SELECT * FROM users WHERE age>33 $db->users->find(array("age" => array('$gt' => 33)));
SELECT * FROM users WHERE age<33 $db->users->find(array("age" => array('$lt' => 33)));
SELECT * FROM users WHERE name LIKE "%Joe%" $db->users->find(array("name" => new MongoRegex("/Joe/")));
SELECT * FROM users WHERE name LIKE "Joe%" $db->users->find(array("name" => new MongoRegex("/^Joe/")));
SELECT * FROM users WHERE age>33 AND age<=40 $db->users->find(array("age" => array('$gt' => 33, '$lte' => 40)));
SELECT * FROM users ORDER BY name DESC $db->users->find()->sort(array("name" => -1));
CREATE INDEX myindexname ON users(name) $db->users->ensureIndex(array("name" => 1));
CREATE INDEX myindexname ON users(name,ts DESC) $db->users->ensureIndex(array("name" => 1, "ts" => -1));
SELECT * FROM users WHERE a=1 and b='q' $db->users->find(array("a" => 1, "b" => "q"));
SELECT * FROM users LIMIT 10 SKIP 20 $db->users->find()->limit(10)->skip(20);
SELECT * FROM users WHERE a=1 or b=2 $db->users->find(array('$or' => array(array("a" => 1), array("b" => 2))));
SELECT * FROM users LIMIT 1 $db->users->find()->limit(1);
EXPLAIN SELECT * FROM users WHERE z=3 $db->users->find(array("z" => 3))->explain()
SELECT DISTINCT last_name FROM users $db->command(array("distinct" => "users", "key" => "last_name"));
SELECT COUNT(*y) FROM users $db->users->count();
SELECT COUNT(*y) FROM users where AGE > 30 $db->users->find(array("age" => array('$gt' => 30)))->count();
SELECT COUNT(AGE) from users $db->users->find(array("age" => array('$exists' => true)))->count();
UPDATE users SET a=1 WHERE b='q' $db->users->update(array("b" => "q"), array('$set' => array("a" => 1)));
UPDATE users SET a=a+2 WHERE b='q' $db->users->update(array("b" => "q"), array('$inc' => array("a" => 2)));
DELETE FROM users WHERE z="abc" $db->users->remove(array("z" => "abc"));




출처 : http://www.php.net/manual/en/mongo.sqltomongo.php



몽고디비 써보겠다고 PHP에 코드이그나이트에 코드이크나이트 패치된 mongodb 라이브러리까지 해서 넣으나..


모델 뷰, 컨트롤 ;;; 코드이그나이드 날코딩을 막아준다고는 하는데.. 결국 이해못해서


PHP로 날코딩중...

저작자 표시 비영리 변경 금지
신고
1

+ Recent posts