hive odbc 驱动配置成功后,通过c#访问就变得比较简单了,分为查询与更新操作,直接附上测试代码。在此过程中需要注意c#工程编译的目标平台

  • 读写访问代码示例:

    public class HiveOdbcClient
    {
    /// <summary>
    ///
    /// </summary>
    public static HiveOdbcClient Current
    {
    get { return new HiveOdbcClient(); }
    } /// <summary>
    ///
    /// </summary>
    /// <param name="context"></param>
    public void ExcuteNoQuery(string dns, string sql)
    {
    OdbcConnection conn = null; try
    {
    conn = new OdbcConnection(dns);
    conn.Open();
    OdbcCommand cmd = new OdbcCommand(sql, conn);
    cmd.ExecuteNonQuery();
    }
    catch (Exception ex)
    {
    throw ex;
    }
    finally
    {
    if (null != conn)
    {
    conn.Close();
    }
    }
    } /// <summary>
    ///
    /// </summary>
    /// <param name="context"></param>
    /// <returns></returns>
    public DataSet Query(string dns, string sql,string tblName = "tbl")
    {
    DataSet set = new DataSet();
    OdbcConnection conn = null; try
    {
    conn = new OdbcConnection(dns);
    conn.Open();
    OdbcCommand cmd = conn.CreateCommand();
    cmd.CommandText = sql;
    OdbcDataAdapter adapter = new OdbcDataAdapter(cmd);
    adapter.Fill(set, tblName);
    }
    catch (Exception ex)
    {
    throw ex;
    }
    finally
    {
    if (null != conn)
    {
    conn.Close();
    }
    } return set;
    }
    }
  • 测试:新建一个控制台工程,测试表创建及数据插入,示例代码如下:
    class Program
    { static void Main(string[] args)
    {
    Console.WriteLine("按任意键开始进行建表及数据插入测试");
    Console.ReadKey(); string dns = "DSN=myhive;UID=hive;PWD="; string sql = "create table Employee(ID string,Code string,Name string)";
    HiveOdbcClient.Current.ExcuteNoQuery(dns,sql); sql = "insert into table Employee values('002','002','zhangShan');";
    HiveOdbcClient.Current.ExcuteNoQuery(dns, sql); Console.WriteLine("数据插入完成,按任意键退出");
    Console.ReadKey();
    } }
  • 使用上一章介绍的SQurriel 工具,执行: Select * from employee  ,显示代码中插入的数据则OK

Hive(四):c#通过odbc访问hive的更多相关文章

  1. Spark访问Hive表

    知识点1:Spark访问HIVE上面的数据 配置注意点:. 1.拷贝mysql-connector-java-5.1.38-bin.jar等相关的jar包到你${spark_home}/lib中(sp ...

  2. 其它语言通过HiveServer2访问Hive

    先解释一下几个名词: metadata :hive元数据,即hive定义的表名,字段名,类型,分区,用户这些数据.一般存储关系型书库mysql中,在测试阶段也可以用hive内置Derby数据库. me ...

  3. 【hive】——Hive四种数据导入方式

    Hive的几种常见的数据导入方式这里介绍四种:(1).从本地文件系统中导入数据到Hive表:(2).从HDFS上导入数据到Hive表:(3).从别的表中查询出相应的数据并导入到Hive表中:(4).在 ...

  4. Spark&Hive:如何使用scala开发spark访问hive作业,如何使用yarn resourcemanager。

    背景: 接到任务,需要在一个一天数据量在460亿条记录的hive表中,筛选出某些host为特定的值时才解析该条记录的http_content中的经纬度: 解析规则譬如: 需要解析host: api.m ...

  5. SparkSQL On Yarn with Hive,操作和访问Hive表

    转载自:http://lxw1234.com/archives/2015/08/466.htm 本文将介绍以yarn-cluster模式运行SparkSQL应用程序,访问和操作Hive中的表,这个和在 ...

  6. 使用spark访问hive错误记录

    在spark集群中执行./spark-shell时报以下错误: 18/07/23 10:02:39 WARN DataNucleus.Connection: BoneCP specified but ...

  7. Hive四种数据导入方式介绍

    问题导读 1.从本地文件系统中通过什么命令可导入数据到Hive表? 2.什么是动态分区插入? 3.该如何实现动态分区插入? 扩展: 这里可以和Hive中的三种不同的数据导出方式介绍进行对比? Hive ...

  8. spark on yarn模式下配置spark-sql访问hive元数据

    spark on yarn模式下配置spark-sql访问hive元数据 目的:在spark on yarn模式下,执行spark-sql访问hive的元数据.并对比一下spark-sql 和hive ...

  9. pyinstaller打包python源程序访问hive

    1.需求 使用hvie server一段时间后,业务部门需要自己不定时的查询业务数据,之前这一块都是他们提需求我们来做,后来发现这样重复一样的工作放在我们这边做是在没有效率,遂提出给他们工具或者web ...

随机推荐

  1. Inno如何在安装完成时删除指定的文件夹(下的所有文件及子目录)??

    删除安装目录下的任意文件夹及下的所有文件及子目录,或者删除指定目录的文件夹,要如何做到呢?谢谢!! //删除文件    用 DeleteFile 只能删除一个文件,不能使用通配符来删除多个文件Dele ...

  2. 如何在.NET MVC中使用jQuery并返回JSON数据

    http://blog.csdn.net/dingxingmei/article/details/9092249 开始实践 - jQuery端 假设我们要从服务器端获取一个文章列表,并把文章条目显示在 ...

  3. ci(转)

    1  从代码管理器签出源文件 2  修改代码 3  编译代码 4  遇到错误,转到2继续修改直到达到预期 5  运行单元测试,期望所有的测试绿色(通过) 6  单元测试出错,转入2 7  重构代码,按 ...

  4. CentOS x64安装Virtualbox

    今天在CentOS 6.5 x64系统上装了个Virtualbox,这里记录下整个安装过程. 1.去官网下载Virtualbox及其扩展包,同时还要下载dkms,具体如下: Virtualbox:ht ...

  5. What are the 10 algorithms one must know in order to solve most algorithm challenges/puzzles?

    QUESTION : What are the 10 algorithms one must know in order to solve most algorithm challenges/puzz ...

  6. 【转】How-To-Ask-Questions-The-Smart-Way

    提问的智慧 How To Ask Questions The Smart Way Copyright © 2001,2006,2014 Eric S. Raymond, Rick Moen 本指南英文 ...

  7. nginx+tomcat集群配置(1)---根目录设定和多后端分发配置

    前言: 对于javaer而言, nginx+tomcat集群配置, 已然成了web应用部署的主流. 大公司如此, 小公司亦然. 对于个人开发者而言, 资源有限, 往往多个web应用混部于一台服务器(云 ...

  8. error: Error retrieving parent for item: No resource found that matches the given name &#39;Theme.AppCompat.Light&#39;.,appcompatv7

    error: Error retrieving parent for item: No resource found that matches the given name 'Theme.AppCom ...

  9. 远程升级openSSH

    1.确认安装了telnet服务,并且telnet服务能正常运行 查询是否安装了telnet服务:rpm -qa telnet 如果显示出 类似于telnet-server-0.17-31.EL4.5这 ...

  10. layer 一款口碑极佳的web弹层组件,弹框专用

    研究学习网址: http://layer.layui.com/