分享

大数据IMF传奇行动绝密课程第73课:Spark SQL Thrift Server实战

 看风景D人 2019-02-24

通过JDBC/ODBC->Thirft Server->Spark SQL->Hive取代传统数据库为后台的系统
启动hive:

hive --service metastore &
hive

服务端:启动thrift服务端

./start-thriftserver.sh --master spark://Master:7077 --hiveconf hive.server2.transport.mode=http --hiveconf hive.server2.thrift.http.path=cliservice

Java代码

/**
 * Java通过JDBC访问Thrift Server,进而访问Hive,这是企业级开发中最为常见的方式
 */
public class SparkSQLJDBC2ThriftServer {

    /**
     * @param args
     */
    public static void main(String[] args) {

        Connection conn = null;
        ResultSet rs = null;
        String sql = "select * from people where age = ?";
        try {
            Class.forName("org.apache.hive.jdbc.HiveDriver");
            conn = DriverManager.getConnection("jdbc:hive2://Master:10001/default?"     //10001为thrift默认端口,default为hive'中的库
                    + "hive.server2.transport.mode=http;hive.server2.thrift.http.path=cliservice",
                    "root","");
            PreparedStatement stmt = conn.prepareStatement(sql);
            stmt.setInt(1, 30);
            rs = stmt.executeQuery();
            while(rs.next()){
                System.out.println(rs.getString(1)); //数据应保存成parquet
            }
        } catch (ClassNotFoundException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } catch (SQLException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        } finally {
            try {
                rs.close();
                conn.close();
            } catch (SQLException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
    }
}

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多