ÕªÒª:
ͨ¹ýÉÏÊö½éÉÜ£¬ÎÒÃÇ¶Ô Big SQL µÄÌåϵ½á¹¹¡¢¹¤×÷ÔÀí¡¢¼¼ÊõÌØµãÓÐÁËÒ»¸ö»ù±¾µÄÁ˽⣬¶ÔÈçºÎʹÓà Big
SQL ´´½¨¡¢¼ÓÔØ²¢·ÃÎÊ Hive¡¢HBbase ±íÒ²ÓÐÁËÒ»¸ö±È½ÏÈ«ÃæµÄÁ˽⣬ÁíÍ⣬ÎÒÃÇ»¹½éÉÜÁË Big
SQL ²éѯÓÅ»¯µÄ¸÷ÖÖ·½ ...
ÎÒÃÇÖªµÀ£¬Ëæ×ÅÊý¾Ý¹æÄ£±¬Õ¨Ê½µÄÔö³¤¡¢Êý¾ÝÖÖÀ಻¶Ï·ÐÂÒÔ¼°Êý¾Ý´¦ÀíËٶȲ»¶Ï¼Ó¿ì£¬´óÊý¾Ý´¦Àí¼¼Êõ¼°Æ½Ì¨Ó¦Ô˶øÉú¡£´óÊý¾Ý´¦ÀíÆ½Ì¨ÎªÎÒÃǸüºÃµØ×ÛºÏÀûÓýṹ»¯¡¢°ë½á¹¹»¯¡¢·Ç½á¹¹»¯Êý¾Ý¡¢Á÷Êý¾ÝÒÔ¼°º£Á¿Êý¾Ý½øÐзÖÎöÌṩÁ˼áʵµÄ»ù´¡¡£´óÊý¾Ý´¦ÀíÆ½Ì¨Ö÷Òª°üÀ¨ÓÃÓÚ¾²Ì¬´óÊý¾Ý·ÖÎöµÄ
Hadoop ƽ̨ÒÔ¼°ÓÃÓÚÁ÷Êý¾Ý´¦ÀíµÄÁ÷´¦ÀíÆ½Ì¨¡£Hadoop ´óÊý¾Ý´¦ÀíÆ½Ì¨ÒÔ Apache Hadoop
Ϊ»ù´¡£¬²¢´æÔÚ²»Í¬µÄ·¢Ðа汾¡£
IBM InfoSphere BigInsights ÊÇ IBM µÄ Hadoop
´óÊý¾Ý´¦ÀíÆ½Ì¨£¬ËüÒÔ Apache Hadoop Ϊ»ù´¡£¬²¢Ôö¼ÓÁË´óÊý¾Ý´¦ÀíÆ½Ì¨µÄÆóÒµÌØÐÔ£¬°üÀ¨¼¯³ÉµÄ°²×°¡¢¹ÜÀí¡¢¿ª·¢¹¤¾ß£¬NameNode¡¢Job
Tracker µÈ×é¼þµÄ¸ß¿ÉÓ㬰²È«ÐÔÔöÇ¿£¬ÐÔÄܵÄÔöÇ¿£¬Map/Reduce ´¦Àí¿ò¼ÜµÄÔöÇ¿£¬Ê¹Óñê×¼µÄ
SQL ·ÃÎÊ´óÊý¾ÝÒÔ¼°ÓëÏÖÓлù´¡ÉèÊ©ºÍ´óÊý¾ÝÁ÷¼ÆËã¼¼ÊõÎÞ·ìµÄ¼¯³ÉµÈ£¬ÁíÍ⣬IBM InfoSphere
BigInsights »¹ÌṩÁËÎı¾·ÖÎö¡¢»úÆ÷ѧϰ¡¢Êý¾ÝÍÚ¾ò¡¢¿ÉÊÓ»¯·ÖÎöµÈ´óÊý¾Ý·ÖÎöÄÜÁ¦¡£
Ŀǰ£¬Hadoop ´óÊý¾Ý´¦Àí¼¼ÊõÔÚ»¥ÁªÍøÆóÒµÒѾµÃµ½Á˹㷺µÄÓ¦Óã¬ÒøÐС¢µçÐż°Õþ¸®µÈÐÐÒµÓû§Ò²¿ªÊ¼Öð½¥²ÉÓôóÊý¾Ý´¦Àí¼¼Êõ¡£´Ó´óÊý¾ÝÓ¦Óó¡¾°½Ç¶ÈÀ´¿´£¬Êý¾Ý²Ö¿âÔöÇ¿ÊÇ
Hadoop ´óÊý¾ÝÓ¦Óô¦ÀíµÄÒ»¸ö·Ç³£ÖØÒªµÄʹÓó¡¾°¡£ÎÒÃÇÖªµÀ£¬Êý¾Ý²Ö¿âϵͳͨ³£»á²ÉÓø߶˷þÎñÆ÷¡¢¸ß¶Ë´æ´¢À´Ìṩº£Á¿Êý¾Ý´æ´¢¼°¸ßЧÊý¾Ý´¦ÀíÄÜÁ¦£¬Ëæ×Å´óÊý¾Ýʱ´úµ½À´£¬Êý¾Ý¹æÄ£³Ê±¬Õ¨Ê½Ôö³¤£¬Êý¾Ý²Ö¿â´æ´¢¼°´¦Àí³É±¾Ò²»á¼«¾ßÔö³¤£¬ÎªÁ˽µµÍ³É±¾£¬ÎÒÃÇ¿ÉÒÔ½«Êý¾Ý²Ö¿âÖеĺ£Á¿ÀúÊ·Êý¾ÝÐ¶ÔØµ½
Hadoop ƽ̨£¬ÀûÓà Hadoop ƽ̨µÍÁ®µÄ³É±¾¼° Map/Reduce ²¢Ðд¦ÀíÄÜÁ¦ÌṩÀúÊ·Êý¾ÝµÄ²éѯ¡¢·ÖÎöÄÜÁ¦£¬²¢ÀûÓô«Í³µÄÊý¾Ý²Ö¿âϵͳ¸ßЧ´¦ÀíÔÚÏßÊý¾Ý¡£
ÔÚ´óÊý¾Ý¼¼ÊõÍÆ¹ã¡¢Ê¹Óùý³ÌÖУ¬Ò»¸öºÜ´óµÄÌôÕ½¾ÍÊÇÈçºÎʹÓÃĿǰÆóÒµÓû§¹ã·ºÊ¹Óõıê×¼
SQL À´·ÃÎÊ»ùÓÚ Hadoop ƽ̨µÄ´óÊý¾Ý£¬Ê¹ÓÃÆóÒµÔÓÐÓ¦ÓÃÀ´·ÃÎÊ´óÊý¾Ý£¬ÌرðÊÇÊý¾Ý²Ö¿âÔöǿʹÓó¡¾°£¬ÎÒÃÇ´¦ÀíµÄÊý¾Ý»¹Ö÷ÒªÊǺ£Á¿µÄ½á¹¹»¯Êý¾Ý£¬ÎÒÃÇÈÔÈ»ÐèҪʹÓñê×¼µÄ
SQL ²¢Ê¹ÓÃÆóÒµÔÓеijÌÐòÀ´·ÃÎÊ´óÊý¾Ý¡£Ä¿Ç°£¬Ê¹ÓôóÊý¾Ý¼¼Êõ£¬Í¨³£Ê¹Óà Hive¡¢Pig ¼° Java
³ÌÐòÀ´·ÃÎÊ Hadoop ´óÊý¾Ý£¬ÐèÒªÓû§Ñ§Ï°Ðµıà³ÌÓïÑÔ£¬¸ÄдÆóÒµÔÓеÄÓ¦Ó㬾¡¹Ü Hive QL ÌṩÁË
SQL ½Ó¿Ú£¬µ«ËüÖ»Ö§³Ö±ê×¼ SQL µÄ×Ó¼¯£¬²»ÄÜÍêÈ«Âú×ãÓ¦ÓõÄÐèÇó£¬ÎªÁ˽â¾öÉÏÊöÎÊÌ⣬IBM ÍÆ³öÁË
Big SQL£¬ËüʹÓñê×¼µÄ SQL À´·ÃÎÊ»ùÓÚ Hadoop ƽ̨µÄ InfoSphere BigInsights£¬²¢Ìṩ±ê×¼µÄ
JDBC¡¢ODBC ½Ó¿Ú£¬¿ÉÒÔʹ¹ã´óÊìϤ SQL µÄÓû§Ö±½Ó·ÃÎÊ´óÊý¾Ý£¬¶øÇÒ£¬´ÓÐÔÄÜÓÅ»¯½Ç¶È£¬Big SQL
Ìṩ±¾µØ²éѯ¼° Map Reduce Á½ÖÖÔËÐÐģʽ£¬¶ÔС¹æÄ£Êý¾Ý£¬²ÉÓñ¾µØ²éѯ·½Ê½¼õÉÙ Map Reduce
µÄÔËÐпªÏú£¬Ìá¸ßÖ´ÐÐЧÂÊ£¬¶Ô´ó¹æÄ£Êý¾Ý£¬×Ô¶¯²ÉÓà Map Reduce ·½Ê½¸ßЧÔËÐС£
Big SQL ¸ÅÊö
Big SQL ÊÇ IBM »ùÓÚ Hadoop ƽ̨ InfoSphere
BigInsights µÄ SQL ½Ó¿Ú£¬ËüÌṩ±ê×¼µÄ ANSI SQL 92 ±ê×¼£¬ÔÊÐí SQL ¿ª·¢ÈËÔ±Äܹ»ÇáËɵØÕÆÎÕ¶Ô
Hadoop ¹ÜÀíµÄÊý¾ÝµÄ²éѯ¡£ËüʹÊý¾Ý¹ÜÀíÔ±Äܹ»Îª Hive¡¢HBase »òËûÃÇµÄ BigInsights
·Ö²¼Ê½ÎļþϵͳÖд洢µÄÊý¾Ý´´½¨ÐÂ±í¡£´ËÍ⣬LOAD ÃüÁîʹ¹ÜÀíÔ±Äܹ»ÔÚ Big SQL ±íÖÐÌîÈëÀ´×Ô¸÷ÖÖÀ´Ô´µÄÊý¾Ý¡£´ËÍ⣬Big
SQL Ìṩ±ê×¼µÄ JDBC ºÍ ODBC Çý¶¯³ÌÐò£¬¿ÉÒÔʹÐí¶àÏÖÓеŤ¾ßʹÓà Big SQL ²éѯ·Ö²¼Ê½Êý¾Ý¡£ÕâЩ¶¼½â¾öÁË
Hive ´æÔÚµÄһЩ¾ÖÏÞ£¬Ä¿Ç°£¬Hive ½öÖ§³Ö ANSI SQL µÄ×Ó¼¯£¬Ëü²»Ö§³Ö×Ó²éѯ¡¢´°¿Úº¯Êý£¬½öÖ§³Ö
ANSI JOIN Óï·¨£¬¶ÔÊý¾ÝÀàÐ͵ÄÖ§³ÖÒ²ÓоÖÏÞ£¬Ä¿Ç°²»Ö§³Ö varchar¡¢Decimal Êý¾ÝÀàÐÍ£¬ÁíÍ⣬Ëü¶Ô±ê×¼µÄ
JDBC ¼° ODBC Çý¶¯³ÌÐòµÄÖ§³ÖÒ²ÓоÖÏÞÐÔ¡£Í¨¹ýʹÓà Big SQL£¬¿ÉÒÔʹ¹ã´óÊìϤ SQL µÄÓû§Ö±½Ó·ÃÎÊ´óÊý¾Ý¡£
´ÓÐÔÄÜÓÅ»¯½Ç¶È£¬Big SQL Ìṩ Big SQL ·þÎñÆ÷±¾µØ²éѯ¼°
Map Reduce Á½ÖÖÔËÐÐģʽ£¬¶ÔÓÚСÊý¾Ý¼¯»ò»ñÈ¡ÓëÒ»¸öÌØ¶¨ HBase Ðмü¹ØÁªµÄÊý¾ÝµÄ²éѯ£¬Í¨³£»áÔÚµ¥¸ö½ÚµãÉÏ˳ÐòÖ´ÐУ¬¼õÉÙ
Map Reduce µÄÔËÐпªÏú£¬Ìá¸ßÖ´ÐÐЧÂÊ£¬¶Ô´ó¹æÄ£Êý¾Ý£¬×Ô¶¯²ÉÓà Map Reduce ·½Ê½¸ßЧÔËÐС£
³ý´ËÖ®Í⣬Big SQL »¹Õë¶Ô HBase ´¦ÀíÌṩÁËÔöÇ¿¡£Í¨¹ýʹÓÃ
Big SQL£¬Óû§²»ÐèҪʹÓÃÏñ Hive ÄÇÑù¸´ÔÓµÄÓï¾äÀ´´´½¨ HBase ±í£¬¿ÉÒÔÖ§³Ö´´½¨×éºÏÐн¡¡¢×éºÏ×ֶΣ¬¿ÉÒÔΪ
HBase ±í´´½¨¸¨ÖúË÷Òý£¬¿ÉÒÔʹÓà LOAD¡¢insert Óï¾äΪ HBase ±í×°ÔØÊý¾Ý£¬¿ÉÒÔÖ¸¶¨Ñ¹Ëõ·½·¨µÈ¡£
Big SQL Ìåϵ½á¹¹
ÈçÏÂͼËùʾ£¬Big SQL ͬ Hive ¹²ÏíÔªÊý¾Ý¶¨ÒåÐÅÏ¢£¬Ëüͨ¹ý Hcatalog
·ÃÎÊ Hive metastore£¬ÔÚ InfoSphere BigInsights ÖУ¬Hive metastore
ĬÈϲÉÓà Derby Êý¾Ý¿â¡£Òò´Ë£¬Big SQL Öе͍ÒåµÄ±í¿ÉÒÔºÍ Hive Öж¨ÒåµÄ±í»¥Ïà·ÃÎÊ£¬Ä¬ÈÏÇé¿öÏ£¬Big
SQL Öд´½¨µÄ±í¼´Ê¹ Hive ±í¡£
ÍⲿӦÓÃͨ¹ý±ê×¼µÄ JDBC/ODBC Çý¶¯³ÌÐò·ÃÎÊ Big SQL£¬Big
SQL µÄ SQL ²éѯÒýÇæ¸ºÔð¶ÔÊäÈëµÄ SQL Óï¾ä½øÐбàÒ룬Éú³ÉÖ´Ðмƻ®¡£Ëü¿ÉÒÔͨ¹ý¸ÄдÏà¹ØµÄ SQL
Óï¾äÀ´Ìá¸ß²éѯÐÔÄÜ£¬È罫×Ó²éѯ¸Äд³É±íÁ¬½Ó²Ù×÷£¬²¢¿ÉÒÔͨ¹ý SQL ÓÅ»¯Ìáʾ¼°ÅäÖÃÑ¡Ï¸Ä±äÊý¾Ý·ÃÎʲßÂÔ¡£¸ù¾Ý²éѯµÄÐÔÖÊ¡¢Êý¾ÝÁ¿ºÍÆäËûÒòËØ£¬Big
SQL ¿ÉÒÔʹÓà Hadoop µÄ MapReduce ¿ò¼Ü²¢Ðд¦Àí¸÷ÖÖ²éѯÈÎÎñ£¬»òÕßÔÚµ¥¸ö½ÚµãÉ쵀 Big
SQL ·þÎñÆ÷Éϱ¾µØÖ´ÐÐÄúµÄ²éѯ£¬ Ò²¿ÉÒÔ²¿·Ö²éѯ¹¤×÷ÔÚ Hadoop µÄ MapReduce ¿ò¼ÜÉÏÍê³É£¬²¿·Ö²éѯ¹¤×÷ÔÚ
Big SQL ·þÎñÆ÷ÉÏÍê³É¡£
Big SQL ͨ¹ý Hive ´æ´¢ÒýÇæÀ´¶ÁдÊý¾Ý¡£SQL ²éѯÒýÇæ¿ÉÒÔ¸ù¾Ý²»Í¬µÄÊý¾ÝÀàÐÍ£¬Ñ¡Ôñ²»Í¬µÄ´æ´¢¹ÜÀí³ÌÐò×°ÔØ²»Í¬µÄÊý¾Ý´¦ÀíÀàÀ´¶ÁÈ¡Êý¾Ý¡£Big
SQL Ö§³Ö Delimited files¡¢Sequence files¡¢RC files¡¢Custom¡¢Partitioned
tables µÈ¶àÖÖÊý¾Ý¸ñʽ£¬Í¬Ê±Ö§³Ö Hive SerDe ÌṩµÄ¸÷ÖÖ±àÂ뷽ʽ£¬°üÀ¨ Text¡¢Binary¡¢Avro¡¢Thrift¡¢JSON¡¢Custom¡£Big
SQL »¹ÌṩÁË×Ô¼º×¨ÓÐµÄ HBase ´æ´¢¹ÜÀí³ÌÐò£¬Õë¶Ô HBase ´¦ÀíÌṩÁ˺ܶàÔöÇ¿¹¦ÄÜ£¬°üÀ¨Ö§³Ö×Ö·û»ò¶þ½øÖƲ»Í¬µÄ±àÂ뷽ʽ¡¢Ö§³Ö×éºÏÐн¡¼°×éºÏ×ֶΡ¢¿ÉÒÔΪ
HBase ±í´´½¨¸¨ÖúË÷ÒýµÈ¡£

ͼ 1. Big SQL ¼Ü¹¹
ʹÓà Big SQL
Æô¶¯ Big SQL ·þÎñ
ÎÒÃÇÐèÒªÆô¶¯ Big SQL ·þÎñÀ´·ÃÎÊ Big SQL¡£ÈçÏÂËùʾ£¬ÎÒÃÇÒÔ¹ÜÀíÔ±Éí·Ý
(biadmin) µÇ¼ϵͳ£¬²¢Ê¹ÓÃÈçÏÂÃüÁîÆô¶¯¡¢Í£Ö¹¼°²éѯ Big SQL ·þÎñ£º
Çåµ¥ 1. Æô¶¯ Big SQL ·þÎñ
biadmin@imtebi1:/opt/ibm/biginsights/bin> $BIGSQL_HOME/bin/bigsql stop BigSQL pid 2850313 stopped. biadmin@imtebi1:/opt/ibm/biginsights/bin> $BIGSQL_HOME/bin/bigsql start BigSQL running, pid 2893219. biadmin@imtebi1:/opt/ibm/biginsights/bin> $BIGSQL_HOME/bin/bigsql status BigSQL server is running (pid 2893219)
biadmin@imtebi1:/opt/ibm/biginsights/bin> $BIGSQL_HOME/bin/bigsql level IBM BigInsights Big SQL Server Version number is "V2.1.0.1 and level identifier is "20130821". |
ÎÒÃÇÒ²¿ÉÒÔʹÓà BigInsights ±¾ÉíµÄ¼¯³É¹ÜÀíÃüÁîÀ´Æô¶¯¡¢Í£Ö¹¼°²éѯ
Big SQL ·þÎñ£¬ÈçÏÂËùʾ£º
Çåµ¥ 2. ʹÓü¯³É¹ÜÀíÃüÁîÆô¶¯ Big SQL ·þÎñ
biadmin@imtebi1:/opt/ibm/biginsights/bin> $BIGINSIGHTS_HOME/bin/stop.sh bigsql biadmin@imtebi1:/opt/ibm/biginsights/bin> $BIGINSIGHTS_HOME/bin/start.sh bigsql biadmin@imtebi1:/opt/ibm/biginsights/bin> $BIGINSIGHTS_HOME/bin/status.sh bigsql |
ÎÒÃÇ»¹¿ÉÒÔʹÓà BigInsights ±¾ÉíµÄ¼¯³É¹ÜÀíÃüÁîÀ´Æô¶¯ BigInsights
µÄËùÓзþÎñ£¬°üÀ¨ Big SQL ·þÎñ£¬ÈçÏÂËùʾ£º
Çåµ¥ 3. Æô¶¯ BigInsights µÄËùÓзþÎñ
biadmin@imtebi1:/opt/ibm/biginsights/bin> $BIGINSIGHTS_HOME/bin/stop-all.sh biadmin@imtebi1:/opt/ibm/biginsights/bin> $BIGINSIGHTS_HOME/bin/start-all.sh |
ÁíÍ⣬ÎÒÃÇ»¹¿ÉÒÔͨ¹ý BigInsights ÌṩµÄ Web Console
¹ÜÀí¹¤¾ßÀ´Æô¶¯¡¢Í£Ö¹¼°²éѯ Big SQL ·þÎñ£¬ÈçÏÂËùʾ£ºÎÒÃÇͨ¹ýÖ´ÐÐ http://172.16.42.202:8080/
À´Æô¶¯ BigInsights Console£¬²¢Ñ¡Ôñ Cluster Status ²Ëµ¥¡£

ͼ 2. ʹÓà Web Console ¹ÜÀí
Big SQL ·þÎñ
·ÃÎÊ Big SQL
BigInsights Ìṩ¶àÖÖ¹¤¾ß·ÃÎÊ Big SQL£¬°üÀ¨£º
1.JSqsh ÃüÁîÐз½Ê½
2.BigInsights console ¹ÜÀí¹¤¾ß
3.Big SQL Eclipse plugin
4.ͨÓÃµÄ JDBC/ODBC ¹ÜÀí¹¤¾ß
5.JDBC/ODBC Ó¦ÓóÌÐò
ʹÓÃÃüÁîÐзÃÎÊ Big SQL
BigInsights Ìṩһ¸ö¿ªÔ´ JDBC ÃüÁîÐй¤¾ß JSqsh
À´·ÃÎÊ Big SQL£¬ÎÒÃÇ¿ÉÒÔÖ´ÐÐÈçÏÂÃüÁîÀ´Æô¶¯ jsqsh ²¢Ö´ÐÐ SQL ²éѯ £¬ÈçÏÂËùʾ£º
Çåµ¥ 4. Æô¶¯ jsqsh ²¢Ö´ÐÐ SQL ²éѯ
biadmin@imtebi1:/opt/ibm/biginsights/bigsql>$BIGSQL_HOME/bin/jsqsh --user=biadmin --password=password --server localhost --port 7052 --driver=bigsql
JSqsh Release 1.5-ibm, Copyright (C) 2007-2013, Scott C. Gray Type \help for available help topics. Using JLine. [localhost][biadmin] 1> select * from hbase_staff; |
ÎÒÃÇÒ²¿ÉÒÔʹÓÃÈçÏÂÃüÁîÀ´ÔËÐÐ Big SQL ½Å±¾£¬ÈçÏÂËùʾ£º
Çåµ¥ 5. ÔËÐÐ Big SQL ½Å±¾
biadmin@imtebi1:/opt/ibm/biginsights/bigsql/samples/queries> $BIGSQL_HOME/bin/jsqsh --user=biadmin --password=password --server localhost --port 7052 --driver=bigsql -i GOSALESDW_starSchemaJoin.sql |
ÁíÍ⣬ÎÒÃÇ»¹¿ÉÒÔʹÓà jsqsh ¨C setup ÃüÁÒå×Ô¼ºµÄÁ¬½Ó»·¾³£¬ÈçÏÂËùʾ£º
Çåµ¥ 6. ¶¨Òå×Ô¼ºµÄÁ¬½Ó»·¾³
biadmin@imtebi1:/opt/ibm/biginsights/bigsql/bin> ./jsqsh --setup |

ͼ 3. ʹÓà jsqsh ¨C setup
ÃüÁÒåÁ¬½Ó»·¾³
ÕâÑù£¬ÎÒÃÇ¿ÉÒÔʹÓö¨ÒåµÄÁ¬½Ó´®½øÈë×Ô¼ºµÄÁ¬½Ó»·¾³£¬ÈçÏÂËùʾ£º
Çåµ¥ 7. Á¬½Ó×Ô¼ºµÄ»·¾³
biadmin@imtebi1:/opt/ibm/biginsights/bigsql/bin> ./jsqsh mybigsql |
ʹÓà Web Console ·ÃÎÊ Big SQL
ÎÒÃÇ¿ÉÒÔͨ¹ý BigInsights ÌṩµÄ Web Console ¹ÜÀí¹¤¾ßÀ´·ÃÎÊ
Big SQL£¬ÈçÏÂËùʾ£ºÎÒÃÇͨ¹ýÖ´ÐÐ http://172.16.42.202:8080/ À´Æô¶¯ BigInsights
Console£¬²¢Ñ¡Ôñ Quick Links ÖÐµÄ Run Big SQL Queries ²Ëµ¥À´ÔËÐÐ
Big SQL ²éѯÓï¾ä¡£

ͼ 4. ʹÓà Web Console ÔËÐÐ
Big SQL ²éѯ
ʹÓà Eclipse ¹¤¾ß·ÃÎÊ Big SQL
Ê×ÏÈ£¬Í¨¹ýÖ´ÐÐ http://172.16.42.202:8080/ À´Æô¶¯
BigInsights Console£¬²¢Ñ¡Ôñ Quick Links ÖÐµÄ Download the
Big SQL Client drivers À´ÏÂÔØ Big SQL client drivers£¬È»ºóͨ¹ýÖ´ÐÐ
/usr/local/eclipse/eclipse/eclipse ÃüÁî´ò¿ª BigInsights
Eclipse ¿ª·¢¹¤¾ß£¬Ñ¡Ôñ Windows ²Ëµ¥Ï嵀 Preferences ²Ëµ¥£¬Í¨¹ýÑ¡Ôñ Data
Management Ñ¡ÏîÏ嵀 Connectivity->Driver Definitions
À´ÉèÖà Big SQL Driver£¬ÈçÏÂËùʾ£º

ͼ 5. Ϊ Eclipse ¹¤¾ßÉèÖà Big
SQL Driver
Ö®ºó£¬ÔÚ BigInsights Eclipse ¿ª·¢¹¤¾ßÖУ¬´ò¿ª Database
Development Perspective£¬ÔÚ Data Source Explorer ÊÓͼÖУ¬Ñ¡Ôñ
Database Connections Ñ¡Ïµã»÷ÓÒ¼ü´´½¨ Big SQL JDBC Êý¾Ý¿âÁ¬½Ó¸ÅÒª£¬ÈçÏÂͼËùʾ£º

ͼ 6. Ϊ Eclipse ¹¤¾ß´´½¨ Big
SQL JDBC Êý¾Ý¿âÁ¬½Ó¸ÅÒª
Ö®ºó£¬ÎÒÃÇ¿ÉÒÔͨ¹ý´´½¨ BigInsights Project ÒÔ¼°´´½¨
SQL Script À´´´½¨²¢ÔËÐÐ GOSALESDW_Counts.sql Óï¾ä£¬ÈçÏÂËùʾ£º
ͼ 7. ʹÓà Eclipse ¹¤¾ßÔËÐÐ
Big SQL ²éѯ
ʹÓà Db Visualizer µÈ JDBC/ODBC ¹¤¾ß·ÃÎÊ Big
SQL
Big SQL Ìṩ±ê×¼µÄ JDBC/ODBC Çý¶¯³ÌÐò£¬ÔÊÐíËùÓÐÖ§³Ö±ê×¼
JDBC/ODBC µÄ¹¤¾ß·ÃÎÊ BigInsights Hadoop ´óÊý¾Ý£¬ÕâÒ²ÊÇ Big SQL Ïà±È
Hive µÈ´óÊý¾Ý²éѯÓïÑÔµÄÓÅÊÆÖ®Ò»¡£ÎÒÃÇÒÔ³£¼ûµÄ Db Visualizer ¹¤¾ßΪÀý£¬Ê×ÏÈ£¬ÎÒÃÇͨ¹ýÑ¡Ôñ
Tools ²Ëµ¥Ï嵀 Driver Manager ²Ëµ¥À´¶¨Òå Big SQL Driver£¬ÈçÏÂËùʾ£º

ͼ 8. Ϊ Db Visualizer
¶¨Òå Big SQL Driver
Ö®ºó£¬ÔÚ Database ±êǩϣ¬Ñ¡Ôñ Connections Ñ¡Ïµã»÷ÓÒ¼ü´´½¨
BigSQL Êý¾Ý¿âÁ¬½Ó£¬ÈçÏÂËùʾ£¬Á¬½ÓÊý¾Ý¿â£¬²¢Ñ¡Ôñ File ²Ëµ¥Ï嵀 New SQL Commander
²Ëµ¥´´½¨²¢ÔËÐÐ Big SQL ²éѯ¡£

ͼ 9. ʹÓà Db Visualizer
ÔËÐÐ Big SQL ²éѯ
ʹÓà JDBC/ODBC ³ÌÐò·ÃÎÊ Big SQL
ÎÒÃÇ¿ÉÒÔʹÓà JDBC/ODBC ³ÌÐòÀ´·ÃÎÊ Big SQL£¬ÎÒÃÇÒÔ JDBC
³ÌÐòΪÀý£¬Ïêϸ½éÉÜÁËʹÓà JDBC ·ÃÎÊ Big SQL µÄ¾ßÌå·½·¨¡£
Ê×ÏÈ£¬ÎÒÃÇÐèÒªÔÚ CLASSPATH »·¾³±äÁ¿ÖÐÔö¼Ó bigsql-jdbc-driver.jar Îļþ£¬ÈçÏÂËùʾ£º
Çåµ¥ 8. Ôö¼Ó CLASSPATH »·¾³±äÁ¿
biadmin@imtebi1:/opt/ibm/biginsights/bigsql/samples/queries> export CLASSPATH=$CLASSPATH:/opt/ibm/biginsights/bigsql/samples/queries/bigsql-jdbc-driver.jar |
²¢´´½¨ countbrand.java ³ÌÐò£¬ÈçÏÂËùʾ£º
Çåµ¥ 9. countbrand.java ³ÌÐò
countbrand.java
import java.io.*; import java.sql.*; import java.util.*; class countbrand { public static void main(String args[]) throws SQLException,Exception { try { //load the driver class Class.forName("com.ibm.biginsights.bigsql.jdbc.BigSQLDriver"); } catch (ClassNotFoundException e) { System.out.print(e); } try { //set connection properties String user="biadmin"; String password="password"; Connection con = DriverManager.getConnection("jdbc:bigsql://172.16.42.202:7052/gosalesdw", user,password); Statement st = con.createStatement(); //query execution ResultSet rs = st.executeQuery("SELECT count(*) FROM GOSALESDW.GO_BRANCH_DIM AS BD, GOSALESDW.DIST_INVENTORY_FACT AS IF WHERE IF.BRANCH_KEY
= BD.BRANCH_KEY /*+ joinMethod = 'mapSideHash', buildTable = 'bd' +*/ AND BD.BRANCH_CODE > 20"); while(rs.next()) { System.out.println(rs.getString(1)); } } catch(SQLException sqle) { System.out.print(sqle); } } } |
ÎÒÃÇ¿ÉÒÔʹÓÃÈçÏÂÃüÁî±àÒë²¢ÔËÐÐ countbrand.java ³ÌÐò£¬ÈçÏÂËùʾ£º
Çåµ¥ 10. ±àÒë²¢ÔËÐÐ countbrand.java ³ÌÐò
biadmin@imtebi1:/opt/ibm/biginsights/bigsql/samples/queries> javac countbrand.java biadmin@imtebi1:/opt/ibm/biginsights/bigsql/samples/queries> java countbrand 33318 |
´´½¨¡¢¼ÓÔØ±í
ͬ¹ØÏµÊý¾Ý¿âÒ»Ñù£¬Big SQL Ò²´æÔÚģʽ¡£Ä£Ê½ÊÇÖ¸Ò»×é¶ÔÏóµÄ¼¯ºÏ£¬ÎÒÃÇ¿ÉÒÔͨ¹ý´´½¨²»Í¬µÄģʽÀ´×éÖ¯
Big SQL ÖеÄÊý¾Ý¶ÔÏó¡£ÈçÏÂËùʾ£¬ÎÒÃÇ´´½¨ gosalesdw ģʽÀ´×éÖ¯ÎÒÃÇÐèÒª´´½¨µÄ Hive
¼° HBase ±í¡£
Çåµ¥ 11. ´´½¨ gosalesdw ģʽ
biadmin@imtebi1:/opt/> $BIGSQL_HOME/bin/jsqsh -U biadmin -P password JSqsh Release 1.5-ibm, Copyright (C) 2007-2013, Scott C. Gray Type \help for available help topics. Using JLine. [localhost][biadmin] 1> create schema if not exists gosalesdw; 0 rows affected (total: 1m4.56s) [localhost][biadmin] 1> quit; biadmin@imtebi1:/opt/$HADOOP_HOME/bin/hadoop fs -ls /biginsights/hive/warehouse drwxr-xr-x - biadmin biadmgrp 0 2013-12-21 21:20 /biginsights/hive/warehouse/gosalesdw.db |
ÔÚ Big SQL ÖУ¬ÎÒÃÇ´´½¨µÄģʽ»áÔÚ DFS ·Ö²¼Ê½ÎļþϵͳÖд´½¨Ò»¸öÏàÓ¦µÄĿ¼£¬¸ÃĿ¼¿ÉÒÔÔÚ´´½¨Ä£Ê½Ê±Ö¸¶¨£¬Èç¹ûûÓÐÖ¸¶¨Ä¿Â¼£¬»áÔÚ
Hive µÄĬÈÏĿ¼ /biginsights/hive/warehouse/ Ï´´½¨¡£ÎÒÃÇ¿ÉÒÔͨ¹ýÐÞ¸Ä
$HIVE_HOME/conf/hive-site.xml ÎļþÖÐµÄ hive.metastore.warehouse.dir
ÊôÐÔÖµÀ´ÐÞ¸Ä Hive µÄĬÈϴ洢·¾¶£¬ÈçÏÂËùʾ£º
Çåµ¥ 12. ÐÞ¸Ä hive-site.xml
biadmin@imtebi1:/opt/> $BIGSQL_HOME/bin/jsqsh -U biadmin -P password JSqsh Release 1.5-ibm, Copyright (C) 2007-2013, Scott C. Gray Type \help for available help topics. Using JLine. [localhost][biadmin] 1> create schema if not exists gosalesdw1 location '/usr/biadmin/gosalesdw1.db'; 0 rows affected (total: 0.87s) [localhost][biadmin] 1> quit
biadmin@imtebi1:/opt/> $HADOOP_HOME/bin/hadoop fs -ls /usr/biadmin Found 1 items drwxr-xr-x - biadmin supergroup 0 2013-12-21 21:26 /usr/biadmin/gosalesdw1.db
more $HIVE_HOME/conf/hive-site.xml
hive.metastore.warehouse.dir /biginsights/hive/warehouse |
ͬÑù£¬ÎÒÃÇ´´½¨µÄÿһÕÅ±í£¬Ò²»áÔÚ DFS ·Ö²¼Ê½Îļþϵͳ¶ÔÓ¦µÄģʽĿ¼Ï´´½¨Ò»¸ö×ÓĿ¼£¬Ïò±íÖÐ×°ÔØÊý¾Ý£¬Ôò»áÔÚ¸Ã×ÓĿ¼Ï´´½¨Ò»¸ö»ò¶à¸öÊý¾ÝÎļþ£¬ÈçÏÂËùʾ£º
Çåµ¥ 13. DFS ÎļþϵͳĿ¼
biadmin@imtebi1:/opt/ibm/biginsights> $HADOOP_HOME/bin/hadoop fs -ls /biginsights/hive/warehouse/gosalesdw.db
drwxr-xr-x - biadmin supergroup 0 2013-12-13 23:45 /biginsights/hive/warehouse/gosalesdw.db/sls_order_method_dim
drwxr-xr-x - biadmin supergroup 0 2013-12-13 23:46 /biginsights/hive/warehouse/gosalesdw.db/sls_product_dim drwxr-xr-x - biadmin supergroup 0 2013-12-13 23:47 /biginsights/hive/warehouse/gosalesdw.db/sls_sales_fact
biadmin@imtebi1:/opt/ibm/biginsights> $HADOOP_HOME/bin/hadoop fs -ls /biginsights/hive/warehouse/gosalesdw.db/sls_sales_fact Found 1 items -rw-r--r-- 1 biadmin supergroup 51258157 2013-12-13 23:47 /biginsights/hive/warehouse/gosalesdw.db/sls_sales_fact/GOSALESDW.SLS_SALES_FACT.txt |
Big SQL Ö§³Ö tinyint¡¢smallint¡¢integer¡¢bigint
ÕûÊýÀàÐÍ£¬Ò²Ö§³Ö float¡¢double¡¢real ¸¡µãÀàÐͼ° decimal ÀàÐÍ£¬string¡¢varchar()¡¢char()¡¢binary¡¢varbinary()
×Ö·ûÀàÐÍ¡¢timestamp ʱ¼äÀàÐÍÒÔ¼° boolean ²¼¶ûÀàÐÍ£¬ÆäÖÐ tinyint ºÍ smallint
Êǵȼ۵ģ¬real ºÍ float Êǵȼ۵ġ£ÁíÍ⣬Big SQL Ò²Ö§³Ö array Êý×é¼° struct
½á¹¹¸´ÔÓÊý¾ÝÀàÐÍ¡£Ä¿Ç°£¬Big SQL ²»Ö§³Ö´ó¶ÔÏóºÍ VARGRAPHIC ÀàÐÍ¡£
Big SQL ²»Ö±½ÓÖ¸¶¨¸÷¸öÊý¾ÝÀàÐ͵ľßÌå´æ´¢¸ñʽ£¬¶øÊÇÓÉ SerDe
À´¾ö¶¨¡£Èç¹ûûÓÐÌØ±ðÖ¸¶¨£¬Big SQL ʹÓà Hive ĬÈ쵀 LazySimpleSerDe ¼° LazyBinarySerDeSerDe
SerDe ¶¨Òå¡£Óɴ˿ɼû£¬Big SQL ͬ Hive ¹²ÏíÊý¾Ý¡£
ÔÚ Big SQL ÖУ¬´´½¨±íÖ÷񻃾¼°´´½¨ Hive ±í¼° HBase
±íÁ½ÖÖÐÎʽ£¬Ï±ßÎÒÃǽ«¾ßÌå½éÉÜÒ»ÏÂÁ½ÖÖ´´½¨±í¼°×°ÔرíµÄ¾ßÌå·½·¨¡£
´´½¨¡¢¼ÓÔØ Hive ±í
´´½¨ Hive ±í
ÔÚ Big SQL ÖУ¬Ã»ÓÐÌØ±ðÖ¸¶¨£¬Ëù´´½¨µÄ±íĬÈ϶¼ÊÇ Hive ±í£¬ÈçÏÂËùʾ£¬ÎÒÃÇ´´½¨ÁË
SLS_SALES_FACT¡¢SLS_SALES_ORDER_DIM¡¢SLS_ORDER_METHOD_DIM
ÈýÕÅ Hive ±í£º
Çåµ¥ 14. ´´½¨ Hive ±í
USE GOSALESDW; CREATE TABLE SLS_SALES_FACT ( ORDER_DAY_KEY int, ORGANIZATION_KEY int, EMPLOYEE_KEY int, RETAILER_KEY int, RETAILER_SITE_KEY int, PRODUCT_KEY int, PROMOTION_KEY int, ORDER_METHOD_KEY int, SALES_ORDER_KEY int, SHIP_DAY_KEY int, CLOSE_DAY_KEY int, QUANTITY int, UNIT_COST decimal(19,2), UNIT_PRICE decimal(19,2), UNIT_SALE_PRICE decimal(19,2), GROSS_MARGIN double, SALE_TOTAL decimal(19,2), GROSS_PROFIT decimal(19,2) )
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
CREATE TABLE SLS_SALES_ORDER_DIM ( SALES_ORDER_KEY int, ORDER_DETAIL_CODE int, ORDER_NUMBER int, WAREHOUSE_BRANCH_CODE int ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
--GOSALESDW.SLS_ORDER_METHOD_DIM CREATE TABLE SLS_ORDER_METHOD_DIM ( ORDER_METHOD_KEY int, ORDER_METHOD_CODE int, ORDER_METHOD_EN varchar(180), ORDER_METHOD_DE varchar(180), ORDER_METHOD_FR varchar(180), ORDER_METHOD_JA varchar(180), ORDER_METHOD_CS varchar(180), ORDER_METHOD_DA varchar(180), ORDER_METHOD_EL varchar(180), ORDER_METHOD_ES varchar(180), ORDER_METHOD_FI varchar(180), ORDER_METHOD_HU varchar(180), ORDER_METHOD_ID varchar(180), ORDER_METHOD_IT varchar(180), ORDER_METHOD_KO varchar(180), ORDER_METHOD_MS varchar(180), ORDER_METHOD_NL varchar(180), ORDER_METHOD_NO varchar(180), ORDER_METHOD_PL varchar(180), ORDER_METHOD_PT varchar(180), ORDER_METHOD_RU varchar(180), ORDER_METHOD_SC varchar(180), ORDER_METHOD_SV varchar(180), ORDER_METHOD_TC varchar(180), ORDER_METHOD_TH varchar(180) ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'; |
ÉÏÊöÃüÁÔÚ /biginsights/hive/warehouse/gosalesdw.db
Ŀ¼Ï´´½¨ sls_sales_fact¡¢sls_sales_order_dim¡¢sls_order_method_dim
Èý¸öĿ¼¡£
ÎÒÃÇ»¹¿ÉÒÔÀûÓà DFS ÎļþϵͳÉÏÒѾ´æÔÚµÄÊý¾ÝÎļþÀ´´´½¨Íⲿ Hive
±í£¬Ëü½«ÀûÓÃÒѾ´æÔÚµÄÊý¾Ý£¬¶ø½öÊÇÔÚ Hive MetaStore ÖÐÔö¼ÓÏàÓ¦µÄÔªÊý¾Ý¶¨ÒåÐÅÏ¢£¬µ±É¾³ý¸Ã±íºó£¬Ò²½öÊǽ«¸Ã±íµÄÔªÊý¾Ý¶¨ÒåÐÅϢɾ³ý£¬Êý¾ÝÎļþ±£³Ö²»±ä£¬ÈçÏÂËùʾ£º
Çåµ¥ 15. ´´½¨Íⲿ Hive ±í
use gosalesdw; CREATE EXTERNAL TABLE SLS_PRODUCT_DIM_EXT ( PRODUCT_KEY int, PRODUCT_LINE_CODE int, PRODUCT_TYPE_KEY int, PRODUCT_TYPE_CODE int, PRODUCT_NUMBER int, BASE_PRODUCT_KEY int, BASE_PRODUCT_NUMBER int, PRODUCT_COLOR_CODE int, PRODUCT_SIZE_CODE int, PRODUCT_BRAND_KEY int, PRODUCT_BRAND_CODE int, PRODUCT_IMAGE varchar(120), INTRODUCTION_DATE timestamp, DISCONTINUED_DATE timestamp ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' stored as textfile location '/biginsights/hive/warehouse/gosalesdw.db/sls_product_dim'; |
ÔÚ´´½¨±íʱ£¬ÎÒÃÇ»¹¿ÉÒÔ¶¨ÒåÓÅ»¯ÌáʾÐÅÏ¢£¬ÈçÏÂËùʾ£¬ÎÒÃÇ´´½¨ÁË SLS_PRODUCT_DIM_1
±í£¬²¢Ö¸¶¨¸Ã±íµÄÓÅ»¯ÌáʾΪ tablesize='small'£¬Ìáʾ¸Ã±íÊÇÒ»ÕÅС±í£¬ÕâÑù£¬¶Ô¸Ã±íµÄ²Ù×÷¿ÉÄܾͻáÔÚ±¾µØÔËÐУ¬±ÜÃâ
Map Reduce ÔËÐеĿªÏú£»µ±ºÍÆäËû±íÁ¬½Ó²Ù×÷ʱ£¬¿ÉÄÜ»á²ÉÓà mapSideHash ·ÃÎÊ·½Ê½¡£
Çåµ¥ 16. ¶¨ÒåÓÅ»¯ÌáʾÐÅÏ¢
use gosalesdw; CREATE TABLE SLS_PRODUCT_DIM_1( PRODUCT_KEY int, PRODUCT_LINE_CODE int, PRODUCT_TYPE_KEY int, PRODUCT_TYPE_CODE int, PRODUCT_NUMBER int, BASE_PRODUCT_KEY int, BASE_PRODUCT_NUMBER int, PRODUCT_COLOR_CODE int, PRODUCT_SIZE_CODE int, PRODUCT_BRAND_KEY int, PRODUCT_BRAND_CODE int, PRODUCT_IMAGE varchar(120), INTRODUCTION_DATE timestamp, DISCONTINUED_DATE timestamp ) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t' stored as textfile with hints (tablesize='small') ; |
ΪÁ˽øÒ»²½Ìá¸ß²éѯµÄЧÂÊ£¬ÎÒÃÇ»¹¿ÉÒÔ´´½¨·ÖÇø±í¡£²ÉÓ÷ÖÇø±í£¬Ò»·½Ã棬ÎÒÃÇ¿ÉÒÔͨ¹ý²ÉÓÃ
partition elimination ¼¼ÊõºöÂÔµô²»ÐèÒªµÄ·ÖÇøÀ´¼õÉÙÊý¾ÝµÄ´¦ÀíÁ¿¡¢Ìá¸ß²éѯЧÂÊ£¬ÁíÒ»·½Ã棬¿ÉÒÔ¶Ôÿһ¸ö·ÖÇø½øÐйÜÀí£¬Èçɾ³ý¾ÉµÄ·ÖÇø£¬Ìá¸ß¹ÜÀíµÄÁé»îÐÔ¡£Í¬Ê±£¬²ÉÓñí·ÖÇøµÄ·½Ê½£¬Ò²»áµ¼ÖÂÉú³É¹ý¶àµÄÎļþ£¬HCatalog
Òª¹ÜÀí´óÁ¿µÄ·ÖÇøÐÅÏ¢¡£ÈçÏÂËùʾ£¬ÎÒÃÇ´´½¨ÁË SLS_PRODUCT_DIM_PART ·ÖÇø±í£º
Çåµ¥ 17. ´´½¨·ÖÇø±í
use gosalesdw; CREATE TABLE SLS_PRODUCT_DIM_PART( PRODUCT_KEY int, PRODUCT_TYPE_KEY int, PRODUCT_TYPE_CODE int, PRODUCT_NUMBER int, BASE_PRODUCT_KEY int, BASE_PRODUCT_NUMBER int, PRODUCT_COLOR_CODE int, PRODUCT_SIZE_CODE int, PRODUCT_BRAND_KEY int, PRODUCT_BRAND_CODE int, PRODUCT_IMAGE varchar(120), INTRODUCTION_DATE timestamp, DISCONTINUED_DATE timestamp )PARTITIONED BY (PRODUCT_LINE_CODE int) ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t';
biadmin@imtebi1:/opt/ibm/biginsights/bin> hadoop fs -ls /biginsights/hive/warehouse/gosalesdw.db Found 70 items drwxr-xr-x - biadmin biadmgrp 0 2013-12-15 07:47 /biginsights/hive/warehouse/gosalesdw.db/sls_product_dim_part |
|