zoukankan      html  css  js  c++  java
  • HIVE Thrift Server使用总结

    因为报表前端用dot NET MVC写的,要想从HIVE中获取详细数据,目前的方案是使用hive thriftserver。

    1. 生成HIVE Thrift对应的C#类文件

    遇到的问题是找不到thriftserver.thrift中引用的fb303.thrift文件。解决方案:从thrift源码目录中复制一份过来。然后利用thriftserver.thrift生成了4个类文件,复制到项目中编译报错,不得不将引用的其他三个文件分别利用thrift生成C#类,最后将几十个类文件复制到项目中,修改项目属性,将framework 4 client profile修改为framework 4,编译通过。

    client代码如下:

    static void Main(string[] args)
            {
                TTransport transport = new TSocket("192.168.1.1"10000);
                TProtocol protocol = new TBinaryProtocol(transport);
                ThriftHive.Client client = new ThriftHive.Client(protocol);

                transport.Open();
                //client.execute("add file /data/home/script/ad_resolve2.py;");
                client.execute("select * from web_pv_log_detail3 where dt = '2012-09-10' limit 10");
                Console.WriteLine("the result is:");

                
                var items = client.fetchAll();
                foreach (var item in items)
                {
                    Console.WriteLine(item);
                }
                transport.Close();

                Console.ReadLine();
            }

    2. 启动服务端服务:

    hive --service hiveserver

    3. 测试。发现多次调用execute之后调用fetch,每次会获取到最后一个execute的结果,对于多线程调用的可用性持怀疑态度。

  • 相关阅读:
    Html5与CSS3(选择器)
    halo博客安装教程,一款优秀的java开源博客系统
    java的read方法
    css故障文字动画
    从软件公司的异同点讲起,聊聊未来的程序员该如何选公司和谋规划
    创建一个springboot项目
    每日算法训练
    Error running 'tomcat': Unknown error
    java: 程序包javax.servlet.http不存在
    idea配置阿里maven镜像
  • 原文地址:https://www.cnblogs.com/end/p/2683815.html
Copyright © 2011-2022 走看看