Hive(四):c#通过odbc访问hive

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
时间: 2024-12-06 19:38:18

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

大数据技术之_08_Hive学习_01_Hive入门+Hive安装、配置和使用+Hive数据类型

第1章 Hive入门1.1 什么是Hive1.2 Hive的优缺点1.2.1 优点1.2.2 缺点1.3 Hive架构原理1.4 Hive和数据库比较1.4.1 查询语言1.4.2 数据存储位置1.4.3 数据更新1.4.4 索引1.4.5 执行1.4.6 执行延迟1.4.7 可扩展性1.4.8 数据规模第2章 Hive安装.配置和使用2.1 Hive安装地址2.2 Hive安装部署2.3 将本地文件导入Hive案例2.4 MySql安装2.4.1 安装包准备2.4.2 安装MySql服务器2.

Spark SQL 使用beeline访问hive仓库

一.添加hive-site.xml 在$SPARK_HOME/conf下添加hive-site.xml的配置文件,目的是能正常访问hive的元数据 vim hive-site.xml <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://192.168.1.201:3306/hiveDB?createDatabaseIf

Spark&amp;Hive:如何使用scala开发spark作业,并访问hive。

背景: 接到任务,需要在一个一天数据量在460亿条记录的hive表中,筛选出某些host为特定的值时才解析该条记录的http_content中的经纬度: 解析规则譬如: 需要解析host: api.map.baidu.com 需要解析的规则:"result":{"location":{"lng":120.25088311933617,"lat":30.310684375444877}, "confidence&quo

连接Oracle与Hadoop(4) Oracle使用OSCH访问Hive表

OSCH是Oracle SQL Connector for Hadoop的缩写,Oracle出品的大数据连接器的一个组件 本文介绍的就是如何使用OSCH从Oracle数据库直接访问Hive表 前提1:在Oracle数据库端,部署好HDFS客户端与OSCH软件,设置好环境变量 #JAVA export JAVA_HOME=/home/oracle/jdk1.8.0_65   #Hadoop export HADOOP_USER_NAME=hadoop export HADOOP_HOME=/hom

Hive学习(七)Hive四种数据导入方式

Hive的几种常见的数据导入方式 这里介绍四种: (1).从本地文件系统中导入数据到Hive表: (2).从HDFS上导入数据到Hive表: (3).从别的表中查询出相应的数据并导入到Hive表中: (4).在创建表的时候通过从别的表中查询出相应的记录并插入到所创建的表中. 一.从本地文件系统中导入数据到Hive表 先在Hive里面创建好表,如下: hive> create table wyp > (id int, name string, > age int, tel string)

pyinstaller打包python源程序访问hive

1.需求 使用hvie server一段时间后,业务部门需要自己不定时的查询业务数据,之前这一块都是他们提需求我们来做,后来发现这样重复一样的工作放在我们这边做是在没有效率,遂提出给他们工具或者web UI自助查询,当然hive有自己的hwi可以通过网页UI进行自助查询,但是这对不懂sql的业务人员有点不太友好,目前有没时间去修改hwi的UI,所以还是给他们提供查询工具吧.我这边主要使用python thrift访问集群的hive,所以自然要将python源码打包成.exe,业务人员在windo

Hive简述及几种访问方式

what is hive? Hive 是建立在Hadoop上的数据仓库基础构架.它提供了一系列的工具,可以用来进行数据的提取转化加载(ETL ),这是一种可以存储.查询和分析存储在 Hadoop 中的大规模数据的机制.Hive 定义了简单的类SQL查询语言,称为 HQL,它允许熟悉SQL的用户查询数据.同时,这个语言也允许熟悉 MapReduce 开发者的开发自定义的 mapper 和 reducer 来处理内建的 mapper 和 reducer 无法完成的复杂的分析工作. Hive在hado

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

Hive的几种常见的数据导入方式这里介绍四种:(1).从本地文件系统中导入数据到Hive表:(2).从HDFS上导入数据到Hive表:(3).从别的表中查询出相应的数据并导入到Hive表中:(4).在创建表的时候通过从别的表中查询出相应的记录并插入到所创建的表中. 一.从本地文件系统中导入数据到Hive表 先在Hive里面创建好表,如下: hive> create table wyp > (id int, name string, > age int, tel string) >

spark sql 访问hive数据时找不mysql的解决方法

我尝试着在classpath中加n入mysql的驱动仍不行 解决方法:在启动的时候加入参数--driver-class中加入mysql 驱动 [[email protected] spark-1.0.1-bin-hadoop2]$ bin/spark-shell --driver-class-path lib/mysql-connector-java-5.1.30-bin.jar 总结:1.spark的版本必须编译的时候加上了hive 1.0.0预编译版没有加入hive  1.0.1是含有hiv