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. @Html.DropDownListFor 绑定列表项

    MVC中为 DropDownListFor 绑定列表项, 一种方案从后台加载列表内容,通过ViewData传递到前台页面. View: <div class="editor-label ...

  2. Yocto 包管理 apt-get

    /******************************************************************** * Yocto 包管理 apt-get * 说明: * 查一 ...

  3. WinDebug的一些基本使用命令

    编号:1030时间:2016年8月3日14:25:51功能:WinDebug的一些基本使用命令 URL :http://blog.csdn.net/suxinpingtao51/article/det ...

  4. html中的元素和节点

    元素(Element)和结点(Node)的区别, 元素是一个小范围的定义,必须是含有完整信息的结点才是一个元素,例如<div>...</div>. 但是一个结点不一定是一个元素 ...

  5. 阿里云2003服务器VPN搭建[转自阿里云官方论坛]

    VPN可以应用在很多方面,很多公司只是拿它接入公司内部网络,但我们做安全的需要的是利用它做跳板上网(还有提高网速).这篇文章主要是针对这种应用来说的,包括公网VPN的配置. 服务器配置 前奏:关闭防火 ...

  6. jsp不能引用js,cs等解决办法

    最近项目中使用到Spring3,在感叹Spring3注解配置清爽的同时竟然出现了这个不和谐的事情,实在无法忍受 问题:部署项目后程序加载或用浏览器访问时出现类似的警告,2011-01-19 10:52 ...

  7. c 函数及指针学习 6

    不完整声明 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 /* 方法一   */ struct tag_a{ ...

  8. Apache使用mod_deflate模块压缩页面优化传输速度

    可以写为一行,也可以写多行,默认为gzip SetOutputFilter DEFLATE # Restrict compression to these MIME types AddOutputFi ...

  9. php归获取当前目录下的二级目录数 和文件数

    <?php        header('Content-Type: text/html; charset=gb2312');        // $baseDir = "/www/u ...

  10. mysql时间类型在iBATIS框架下的问题(原创哦)

    写代码时遇到一个没有搜到的错误,简单记录一下这个dubbo框架中出现的问题. 启动dubbo一个服务端的bat时报错如下