Integration DataSource

Moonbox支持多种数据源,以下为挂载各种类型的数据源的示例。

在TYPE 1类型数据库中挂载虚拟表。

mount table mysql_test_table options(
    type 'mysql',                           # 数据源类型,必填,为mysql
    url 'jdbc:mysql://host:3306/database',  # url,必填
    dbtable 'table_name' ,                  # 表名,必填
    user 'root',                            # 用户名 ,必填
    password 'pwd'                          # 密码 ,必填
);

Note:
1 如果自己编译源码需要添加-Pmysql选项增加MySQL支持
2 需要将MySQL驱动拷贝到$MOONBOX_HOME/runtime中

mount table mycat_test_table options(
    type 'mysql',                           # 类型,必填,为mysql
    url 'jdbc:mysql://host:8066/database',  # url, 必填
    dbtable 'table_name' ,                  # 表名,必填
    user 'root',                            # 用户名 ,必填
    password 'pwd'                          # 密码 ,必填
);

Note:
1 如果自己编译源码需要添加-Pmysql选项增加MySQL支持
2 需要将MySQL驱动拷贝到$MOONBOX_HOME/runtime中

mount table sqlserver_test_booklist options(
    type 'sqlserver',                                           # 类型,必填,为kudu
    url 'jdbc:sqlserver://host:1433;DatabaseName=database',     # url,必填,
    dbtable 'table_name' ,                                      # 表名,必填
    user 'root',                                                # 用户名 ,必填
    password 'pwd'                                              # 密码 ,必填
);

Note:
1 如果自己编译源码需要添加-Psqlserver选项增加SqlServer支持
2 需要将SqlServer驱动拷贝到$MOONBOX_HOME/runtime中

mount table oracle_test_booklist options(
    type 'oracle',                                  # 类型,必填,为oracle
    url 'jdbc:oracle:thin:@host:1521:database',     # url,必填
    dbtable 'table_name' ,                          # 表名,必填
    user 'root',                                    # 用户名 ,必填
    password 'pwd'                                  # 密码 ,必填
);

Note:
1 如果自己编译源码需要添加-Poracle选项增加Oracle支持
2 需要将Oracle驱动拷贝到$MOONBOX_HOME/runtime中

mount table mongo_test_booklist options(
    type 'mongo',                                                                                 # 类型,必填,为mongo
    spark.mongodb.input.uri 'mongodb://[username:password@]host[:27017]/database.collection', # mongo读uri,如果目的为读,必填
    spark.mongodb.output.uri 'mongodb://[username:password@]host[:27017]/database.collection' # mongo写uri,如果目的为写,必填 
);

Note:
1 如果自己编译源码需要添加-Pmongo选项增加Mongo支持
2 更多配置参考MongoDB Spark Connector配置

mount table test_es5_100 options(
    type 'es',                                      # 类型,必填,为es
    es.nodes 'host',                                # es nodes 列表,必填
    es.port '9200',                                 # es端口,必填
    es.resource 'indexName/typeName',               # index和type,必填
    es.net.http.auth.user "username",               # 用户名 ,可选
    es.net.http.auth.pass "password"                # 密码 ,必填
);

Note:
1 如果自己编译源码需要添加-Pes选项增加Elasticsearch支持 2 仅测试过5.3版本, 其他版本可能会有问题。

mount table presto_test_booklist options(
    type 'presto',                                  # 类型,必填,为presto
    url 'jdbc:presto://host:8181/mysql/database',   # preseto url,必填,
    dbtable 'table_name' ,                          # 表,必填
    user 'root'                                     # 用户名 ,必填
);

Note:
1 如果自己编译源码需要添加-Ppresto选项增加Presto支持

mount table kudu_test_booklist options(
    type 'kudu',                                    # 类型,必填,为kudu
    kudu.master 'host:7051',                        # kudu master 地址和端口,必填
    kudu.table 'table_name'                         # 表,必填
);

Note:
1 如果自己编译源码需要添加-Pkudu选项增加Kudu支持

mount table hbase_test_booklist options(
    type 'hbase',                                       # 类型,必填,为hbase
    'hbase.spark.use.hbasecontext' 'false',             # 必填,为false
    hbase.zookeeper.quorum 'host',                      # zk地址列表,必填
    catalog '{"table":{"namespace":"default", "name":"table_name"},"rowkey":"key","columns":{"row":{"cf":"rowkey", "col":"key", "type":"string"},"column0":{"cf":"cf1", "col":"column0", "type":"string"},"column1":{"cf":"cf1", "col":"column1", "type":"string"},"column2":{"cf":"cf1", "col":"column2", "type":"string"}}}'   # hbase中namespace , rowkey,columns等,必填
);

Note:
1 如果自己编译源码需要添加-Phbase选项增加HBase支持

mount table cass_test_booklist options(
    type 'cassandra',                                       # 类型,必填,为cassandra
    spark.cassandra.connection.host 'master,slave1,slave2', # cassandra 连接信息,必填
    keyspace 'default',                                     # keyspace信息,必填
    table 'table_name'                                      # 表,必填
);

Note:
1 如果自己编译源码需要添加-Pcassandra选项增加Cassandra支持

mount table hive_test_booklist options(
    type 'hive',                                        # 类型,必填,为hive
    metastore.url 'jdbc:mysql://host:3306/database',    # metastore的url地址,必填
    metastore.driver 'com.mysql.jdbc.Driver',           # metastore driver,必填
    hivedb 'default',                                   # hive的database名,必填
    hivetable 'table_name'                              # hive的表名, 必填
    metastore.user 'root',                              # metastore 用户名,必填
    metastore.password 'pwd'                            # metastore 密码,必填
);

Note:
1 如果Hive元数据使用MySQL存储,需要将MySQL驱动拷贝到$MOONBOX_HOME/runtime中

挂载TYPE 2类型数据库

mount database mysql_test_test options(
    type 'mysql',                               # 类型,必填,为mysql
    url 'jdbc:mysql://host:3306/database',      # url,必填
    user 'root',                                # 用户名,必填
    password 'pwd'                              # 密码,必填
);

Note:
1 如果自己编译源码需要添加-Pmysql选项增加MySQL支持
2 需要将MySQL驱动拷贝到$MOONBOX_HOME/runtime中

mount database mycat_test_testdb options(
    type 'mysql',                                       # 类型,必填,为mysql
    url 'jdbc:mysql://localhost:8066/database',            # url,必填
    user 'root',                                        # 用户名,必填
    password 'pwd'                                      # 密码,必填
);

Note:
1 如果自己编译源码需要添加-Pmysql选项增加MySQL支持
2 需要将MySQL驱动拷贝到$MOONBOX_HOME/runtime中

mount table sqlserver_test_booklist options(
    type 'sqlserver',                                           # 类型,必填,为kudu
    url 'jdbc:sqlserver://host:1433;DatabaseName=database',     # url,必填,
    user 'root',                                                # 用户名 ,必填
    password 'pwd'                                              # 密码 ,必填
);

Note:
1 如果自己编译源码需要添加-Psqlserver选项增加SqlServer支持
2 需要将SqlServer驱动拷贝到$MOONBOX_HOME/runtime中

mount database oracle_test_orcl options(
    type 'oracle',                              # 类型,必填,为oracle
    url 'jdbc:oracle:thin:@host:1521:database', # url,必填
    user 'root',                                #  用户名,必填
    password 'pwd'                              # 密码,必填
);

Note:
1 如果自己编译源码需要添加-Poracle选项增加Oracle支持
2 需要将Oracle驱动拷贝到$MOONBOX_HOME/runtime中

mount database cass_test_default options(
    type 'cassandra',                                        # 类型,必填,为cassandra
    spark.cassandra.connection.host 'master,slave1,slave2',  # cassandra host列表,必填
    keyspace 'default'                                       # keyspace名,必填
);

Note:
1 如果自己编译源码需要添加-Pcassandra选项增加Cassandra支持

mount database es5_test_default options(
    type 'es',                                          # 类型,必填,为es
    es.nodes 'master,slave1,slave2',                    # host列表,必填
    es.port '9200',                                     # port,必填
    es.resource 'index_name'                            # index名字,必填
);

Note:
1 如果自己编译源码需要添加-Pes选项增加Elasticsearch支持 2 仅测试过5.3版本, 其他版本可能会有问题。

mount database kudu_test_default options(
    type 'kudu',                                        # 类型,必填,为kudu
    kudu.master 'master:7051'                           # kudu master列表,必填
);

Note:
1 如果自己编译源码需要添加-Pkudu选项增加Kudu支持

mount database hive_test_default options(
    type 'hive',                                        # 类型,必填,为hive
    metastore.url 'jdbc:mysql://host:3306/database',    # metastore的url地址,必填
    metastore.driver 'com.mysql.jdbc.Driver',           # metastore driver,必填
    hivedb 'default',                                   # hive的database名,必填
    metastore.user 'root',                              # metastore 用户名,必填
    metastore.password 'pwd'                            # metastore 密码,必填
);

Note:
1 如果Hive元数据使用MySQL存储,需要将MySQL驱动拷贝到$MOONBOX_HOME/runtime中

mount database presto_test_test options(
    type 'presto',                                          # 类型,必填,为presto
    url 'jdbc:presto://master:8181/mysql/database',         # 密码,必填
    user 'root'                                             # 用户名,必填
);

Note:
1 如果自己编译源码需要添加-Ppresto选项增加Presto支持

mount database mongo_test_test options(
    type 'mongo',                                               # 类型,必填,为mongo
    spark.mongodb.input.uri 'mongodb://host:27017/database',    # 读url,如果目的为读,必填
    spark.mongodb.output.uri 'mongodb://host:27017/database'    # 写url,如果目的为写,必填
);

Note:
1 如果自己编译源码需要添加-Pmongo选项增加Mongo支持
2 更多配置请参考MongoDB Spark Connector配置

Notices