代码之家  ›  专栏  ›  技术社区  ›  James Avery

如何从.NET连接到Hadoop/Hive

  •  13
  • James Avery  · 技术社区  · 16 年前

    我正在研究一个解决方案,在这个解决方案中,我将有一个运行配置单元的Hadoop集群,并且我希望从一个.NET应用程序发送作业和配置单元查询以进行处理,并在它们完成时得到通知。我找不到任何与Hadoop接口的解决方案,除了直接从Java应用程序,是否有一个API我可以访问,我只是没有找到?

    7 回复  |  直到 16 年前
        1
  •  10
  •   Matthew Hegarty Edwin Lunando    16 年前

    显然,可以用非Java解决方案连接到Hadoop—请参阅 Do I have to write my application in Java?

        2
  •  9
  •   Vadym Chekan    14 年前

    使用Hadoop:没有直接的方法从C连接,因为Hadoop通信层只使用java,不跨平台。这可能是可能的,但在非常不平凡的方式。 我知道有一个补丁可以添加对Hadoop的协议缓冲区支持,但是在撰写本文的时候(2011年8月)还没有发布。

    https://bitbucket.org/vadim/hive-sharp/downloads/hive-sharp-lib.dll http://nuget.org/List/Packages/Hive.Sharp.Lib 免责声明:我是作者。

        3
  •  7
  •   Sergey Zyuzin    13 年前
    1. 有Hortonworks ODBC驱动程序。我没有亲自使用它,但它可以让您像处理任何其他ODBC数据源一样处理hive。安装ODBC驱动程序后,可以使用OdbcConnection类连接到配置单元。

    2. 您可以使用IKVM将hadoop客户机java库转换为.Net程序集,这些程序集可以从C#使用。我没有将IKVM与Hive客户机一起使用,但是我已经IKVM了其他一些hadoop客户机库,令人惊讶的是它居然能工作。

    编辑:

    1. 还有apachetempleton,它允许使用Rest接口提交Hive作业(Pig和MR)。它的问题是,它产生了另一个映射任务来提交配置单元作业,这使得它的速度变慢。
        4
  •  4
  •   Whit Waldo    11 年前

    通过使用Microsoft的ODBC连接器,可以使用C#访问配置单元。下载“的Nuget包” “并遵循 http://msdn.microsoft.com/en-us/library/dn749834.aspx

    http://www.microsoft.com/en-us/download/details.aspx?id=40886 ),安装它,然后使用VisualStudio中的服务器资源管理器添加新连接,然后为我构建连接字符串。为此,我使用了以下步骤:

    • 将数据源更改为“Microsoft ODBC数据源”,并确保使用“.NET Framework data Provider for ODBC”作为数据提供程序。

    Change Data Source Dialog Window

    • 在“数据源规范”部分下,选中“使用连接字符串”,然后单击“构建”按钮。

    Add Connection Dialog Window

    Select Data Source Dialog Window

    • 将打开一个标题为“Microsoft Hive ODBC驱动程序连接对话框”的窗口。输入可选描述,然后键入到配置单元服务器的路径、要使用的端口以及它应该连接到的数据库。指示配置单元服务器类型,并指定要使用的身份验证机制,然后填写相应的字段。

    Microsoft Hive ODBC Driver Connection Dialog Window

    • 最后,单击底部的“Test”按钮以确保您能够成功连接。如果成功,请单击“确定”按钮,然后返回“修改连接”窗口。在此处输入配置单元服务的登录信息。

    使用此数据源或复制为您构建的连接字符串,并在应用程序中使用它。

        5
  •  3
  •   zjffdu    16 年前

        6
  •  1
  •   rajibdotnet    12 年前

    看看这是否有用。我试着通过C连接到Hadoop#

    How to communicate to Hadoop via Hive using .NET/C#

        7
  •  0
  •   peeyush rahariya    10 年前

    使用Hbase.Net图书馆 https://hbasenet.codeplex.com/

            Client c = new Client("10.20.14.179", 9090, 1000000);
    
            var cli = c.TotalClients;
    
            var tableList = c.GetTableNames();
    

    仅供参考,我们正在使用hortonworks沙盒,它连接良好。

    在上面的示例中,10.20.14.179是主机,9090是端口。

    https://community.hortonworks.com/questions/25101/is-there-a-way-to-connect-to-hbase-using-c.html

    没有本机C#HBase客户端。但是,从C#与HBase交互有几个选项。

    1. C#HBase Thrift客户端-Thrift允许定义服务端点 以及通用格式的数据模型,并使用代码生成器 创建特定于语言的绑定。HBase提供第三层服务器和 定义。网上有很多创建C#HBase的例子

    2. Marlin-Marlin是与星门(HBase)交互的C#客户机 星门,我想它应该能用。如果你打算使用 头顶。使用基于HTTP的方法也使得 通过多个网关的负载平衡请求。

    3. Phoenix查询服务器-Phoenix是HBase上的SQL皮肤。凤凰查询 服务器是一个restapi,用于向Phoenix提交SQL查询。这里是

    4. Simba HBase ODBC驱动程序-使用ODBC连接到HBase。我听说了 对这种方法的积极反馈,特别是来自

    推荐文章