当前位置:首页 » 编程软件 » hive脚本调用

hive脚本调用

发布时间: 2022-06-04 03:03:55

㈠ hive sql里面如何调用shell脚本

hive sql && maprece job
你的采纳是我前进的动力,记得好评和采纳,答题不易,互相帮助,
手机提问的朋友在客户端右上角评价点满意即可.

python如何增量读取hive数据,每次执行脚本把上次的结果做基准,打印出新增的部分

1.读取文本文件数据(.txt结尾的文件)或日志文件(.log结尾的文件)list0与list1分别为文档中的第一列数据与第二列数据。

㈢ Hive是什么

此外,hive也支持熟悉map-rece的开发者使用map-rece程序对数据做更加复杂的分析。 hive可以很好的结合thrift和控制分隔符,也支持用户自定义分隔符。 hive基于hadoop,hadoop是批处理系统,不能保存低延迟,因此,hive的查询也不能保证低延迟。 hive的工作模式是:提交一个任务,等到任务结束时被通知,而不是实时查询。相对应的是,类似于Oracle这样的系统当运行于小数据集的时候,响应非常快,可当处理的数据集非常大的时候,可能需要数小时。需要说明的是,hive即使在很小的数据集上运行,也可能需要数分钟才能完成。 低延迟不是hive追求的首要目标。

㈣ 如何通过脚本的方法,批量执行hive sql语句

操作方法如下:
把SQL语句写成存储过程,这样以后每次只需要调用存储过程就行了

㈤ hive 调用python 写的udf 报错

我也遇到这个问题了,是python脚本的问题,不管hive表的分隔符是什么,在python脚本里面的分隔符都是'\t',换成'\t'试一试。

㈥ sqoop2如何写自动化脚本到hive,或者hbase

Hbase不支持SQL语句查询,如果要实现count\group等操作需要借助Maprece程序,门槛较高;
Hive对于SQL的支持有强大的功能,我们不需要写过多的自定义函数就能实现较为复杂的查询
优点:
1、Hive方便地提供了Hive QL的接口来简化MapRece的使用,而HBase提供了低延迟的数据库访问。如果两者结合,可以利用MapRece的优势针对HBase存储的大量内容进行离线的计算和分析;
2、操作方便,hive提供了大量系统功能;
3、降低业务开发人员技术门槛,只需要掌握SQL即可;
缺点:
性能的损失,hive有这样的功能, 他支持通过类似sql语句的语法来操作hbase中的数据, 但是速度慢;
限制条件:
Hbase表需要有多个字段,如果是单列,字段采用特殊字符分隔,那么导入
1、将以下jar包拷贝到$HIVE_HOME/lib/目录中
cp hbase-common-1.0.0-cdh5.5.0.jar$HIVE_HOME/lib/
cp hbase-server-1.0.0-cdh5.5.0.jar$HIVE_HOME/lib/
cp hbase-client-1.0.0-cdh5.5.0.jar$HIVE_HOME/lib/
cp hbase-protocol-1.0.0-cdh5.5.0.jar$HIVE_HOME/lib/
cp hbase-hadoop2-compat-1.0.0-cdh5.5.0.jar $HIVE_HOME/lib/
cp hbase-hadoop-compat-1.0.0-cdh5.5.0.jar$HIVE_HOME/lib/
cp htrace-core-3.2.0-incubating.jar$HIVE_HOME/lib/
cp netty-all-4.0.23.Final.jar$HIVE_HOME/lib/
cp metrics-core-2.2.0.jar $HIVE_HOME/lib/
2、在hive-site.xml中增加以下配置
<property>
<name>hbase.zookeeper.quorum</name>
<value>master:2181,slave1:2182,slave2:2183</value>
</property>
<property>
<name>hive.aux.jars.path</name>
<value>file:///cdh550/hive/lib/hive-hbase-handler-1.1.0-cdh5.5.0.jar,file:///cdh550/hive/lib/hbase-common-1.0.0-cdh5.5.0.jar,file:///cdh550/hive/lib/hbase-server-1.0.0-cdh5.5.0.jar,file:///cdh550/hive/lib/hbase-client-1.0.0-cdh5.5.0.jar,file:///cdh550/hive/lib/hbase-protocol-1.0.0-cdh5.5.0.jar,file:///cdh550/hive/lib/zookeeper-3.4.5-cdh5.5.0.jar</value>
</property>
3、启动Hive服务端
ohup hive --service metastore > metastore.log
ohup hive --service hiveserver2>hiveserver2.log
4、启动hive客户端
hive [-hiveconf hive.root.logger=DEBUG,console]
CREATE EXTERNAL TABLE hive_hbase_1(keystring, value string)
STORED BY'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES("hbase.columns.mapping" = "c1:d1")
TBLPROPERTIES("hbase.table.name"= "platjava_test_20170401", "hbase.mapred.output.outputtable"= " platjava_test_20170401")
--hbase.columns.mapping指向对应的列族;多列时,data:1,data:2;多列族时,data1:1,data2:1;
--hbase.table.name指向对应的表;hbase_table_2(keystring, value string),这个是关联表。
注意:
建表或映射表的时候如果没有指定:key则第一个列默认就是行键
HBase对应的Hive表中没有时间戳概念,默认返回的就是最新版本的值
由于HBase中没有数据类型信息,所以在存储数据的时候都转化为String类型
CREATE TABLE hbase_table_1(key int, valuestring)
STORED BY'org.apache.hadoop.hive.hbase.HBaseStorageHandler'
WITH SERDEPROPERTIES("hbase.columns.mapping" = ":key,cf1:val")
TBLPROPERTIES ("hbase.table.name"= "xyz", "hbase.mapred.output.outputtable" ="xyz")
hbase.table.name:参数是可选的,是Hbase可识别的名字,如果不设置则和Hive表名一致;
在Hive中创建的和Hbase整合的表不支持load data导入数据,需要在Hive中创建中间表导入数据后采用insert方式导入数据。
例:INSERTOVERWRITE TABLE hbase_table_1 SELECT * FROM pokes WHERE foo=98
当有大量数据导入Hbase时,建议将WAL关闭:sethive.hbase.wal.enabled=false
FAILED: Execution Error, return code 1 fromorg.apache.hadoop.hive.ql.exec.DDLTask. java.lang.RuntimeException: MetaException(message:org.apache.hadoop.hive.serde2.SerDeExceptionorg.apache.hadoop.hive.hbase.HBaseSerDe: columns has 1 elements whilehbase.columns.mapping has 2 elements (counting the key if implicit))
在创建hive/hbase相关联的表时,hbase表结构默认会有一个字段key,如果没有一个显示的字段'key'那么在创建表时,会自己创建,这样hive对应的表就会出现问题,所以在hive对应的表里一定要加上key这个字段,为了避免这个问题,在hbase表结构里可以显示的添加'key'字段,这样不容易出问题。
1、 Hive SQL在执行过程中是否会对Hbase的实时数据读写造成影响?(不考虑主机资源情况下)

㈦ hue/oozie 调度shell执行hive脚本

前面已经有篇文章介绍如何编译包含hive的spark-assembly.jar了,不清楚的可以翻看一下前面的文章。clouderamanager装好的spark,直接执行spark-shell进入命令行后,写入如下语句:valhiveContext=neworg.apache.spark.sql.hive.HiveContext(sc)你会发现没法执行通过,因为cm装的原生的spark是不支持sparkhql的,我们需要手动进行一些调整:第一步,将编译好的包含hive的JAR包上传到hdfs上配置的默认的spark的sharelib目录:/user/spark/share/lib第二步:在你要运行spark-shell脚本的节点上的/opt/cloudera/parcels/CDH-5.3.0-1.cdh5.3.0.p0.30/lib/spark/lib/目录下面,下载这个jar到这个目录:hadoopfs-gethdfs://n1:8020/user/spark/share/lib/spark-assembly-with-hive-maven.jar(具体路径替换成你自己的)。然后这个目录下面原来会有个软链接spark-assembly.jar指向的是spark-assembly-1.2.0-cdh5.3.0-hadoop2.5.0-cdh5.3.0.jar,我们把这个软链接删除掉重新创建一个同名的软链接:ln-sspark-assembly-with-hive-maven.jarspark-assembly.jar,指向我们刚下载下来的那个JAR包,这个JAR包会在启动spark-shell脚本时装载到driverprogram的classpath中去的,sparkContext也是在driver中创建出来的,所以需要将我们编译的JAR包替换掉原来的spark-assembly.jar包,这样在启动spark-shell的时候,包含hive的spark-assembly就被装载到classpath中去了。第三步:在/opt/cloudera/parcels/CDH/lib/spark/conf/目录下面创建一个hive-site.xml。/opt/cloudera/parcels/CDH/lib/spark/conf目录是默认的spark的配置目录,当然你可以修改默认配置目录的位置。hive-site.xml内容如下:hive.metastore.localfalsehive.metastore.uristhrift://n1:9083hive.metastore.client.socket.timeout300hive.metastore.warehouse.dir/user/hive/warehouse这个应该大家都懂的,总要让spark找到hive的元数据在哪吧,于是就有了上面一些配置。第四步:修改/opt/cloudera/parcels/CDH/lib/spark/conf/spark-defaults.conf,添加一个属性:spark.yarn.jar=hdfs://n1:8020/user/spark/share/lib/spark-assembly-with-hive-maven.jar。这个是让每个executor下载到本地然后装载到自己的classpath下面去的,主要是用在yarn-cluster模式。local模式由于driver和executor是同一个进程所以没关系。以上完事之后,运行spark-shell,再输入:valhiveContext=neworg.apache.spark.sql.hive.HiveContext(sc)应该就没问题了。我们再执行一个语句验证一下是不是连接的我们指定的hive元数据库:hiveContext.sql("showtables").take(10)//取前十个表看看最后要重点说明一下这里的第二步第三步和第四步,如果是yarn-cluster模式的话,应该替换掉集群所有节点的spark-assembly.jar集群所有节点的sparkconf目录都需要添加hive-site.xml,每个节点spark-defaults.conf都需要添加spark.yarn.jar=hdfs://n1:8020/user/spark/share/lib/spark-assembly-with-hive-maven.jar。可以写个shell脚本来替换,不然手动一个一个节点去替换也是蛮累的。

㈧ hive脚本无法实现rows查询

可以实现。
为了让Spark能够连接到Hive的原有数据仓库,我们需要将Hive中的hivesitexml文件拷贝到Spark的conf目录下,这样就可以通过这个配置文件找到Hive的元数据以及数据存放。

热点内容
查看存储过程权限 发布:2024-05-18 17:18:33 浏览:191
php类self 发布:2024-05-18 17:15:03 浏览:894
手机2b2t的服务器地址是多少 发布:2024-05-18 17:14:56 浏览:188
戴尔8490哪个配置比较合理 发布:2024-05-18 17:14:51 浏览:168
删除sqlserver服务 发布:2024-05-18 16:47:06 浏览:323
密码盒的密码是多少钱 发布:2024-05-18 16:43:52 浏览:95
linux哪个c语言编译器好用 发布:2024-05-18 16:30:03 浏览:469
搜狐视频无法缓存 发布:2024-05-18 16:30:03 浏览:310
小鸟云服务器值不值得买 发布:2024-05-18 16:30:01 浏览:899
durbin算法 发布:2024-05-18 16:29:57 浏览:556