Hive

Convert Ascii value to Character in hive

北城以北 提交于 2020-08-02 08:11:29
问题 I want to convert ascii value to its character in hive.Is there any existing function in a hive (like we have char function in SQL server).Does anyone knows how to achieve this in a hive? For Example: For 65 , result would be A. Thanks in advance. 回答1: This is possible by combining a few of the built in functions: Select decode(unhex(hex(65)), 'US-ASCII'); hex changes the int value to a Hexadecimal string, while unhex changes this to binary. then decode interprets the binary as ASCII data. 来源

Delta Lake 如何帮助云用户解决数据实时入库问题

梦想与她 提交于 2020-07-29 10:14:56
嘉宾简介:辛现银,花名辛庸,阿里巴巴计算平台事业部 EMR 技术专家,Apache Hadoop,Apache Spark contributor,对 Hadoop、Spark、Hive、Druid 等大数据组件有深入研究。目前从事大数据云化相关工作,专注于计算引擎、存储结构、数据库事务等内容,今天为大家介绍Delta Lake 如何帮助云用户解决数据实时入库的问题。 直播回放: https://developer.aliyun.com/live/2894 以下是视频内容精华整理。 一、CDC简介 CDC是Change Data Capture的缩写,也就是改变数据捕获。比如在最开始的时候我们用工具将业务数据导入数据仓库、数据湖当中,之后导入数据的时候我们希望反映数据的动态变化,进行增量导入,并且能够尽快的捕获这些变化数据,以便更快地进行后 来源: oschina 链接: https://my.oschina.net/u/4274636/blog/4334809

Why is Fetch task in Hive works faster than Map-only task?

|▌冷眼眸甩不掉的悲伤 提交于 2020-07-29 07:57:45
问题 It is possible to enable Fetch task in Hive for simple query instead of Map or MapReduce using hive hive.fetch.task.conversion parameter. Please explain why Fetch task is running much faster than Map especially when doing some simple work (for example select * from table limit 10; )? What map-only task is doing additionally in this case? The performance difference is more than 20 times faster in my case. Both tasks should read the table data, isn't it? 回答1: FetchTask directly fetches data,

Why is Fetch task in Hive works faster than Map-only task?

随声附和 提交于 2020-07-29 07:57:09
问题 It is possible to enable Fetch task in Hive for simple query instead of Map or MapReduce using hive hive.fetch.task.conversion parameter. Please explain why Fetch task is running much faster than Map especially when doing some simple work (for example select * from table limit 10; )? What map-only task is doing additionally in this case? The performance difference is more than 20 times faster in my case. Both tasks should read the table data, isn't it? 回答1: FetchTask directly fetches data,

【赵强老师】什么是Spark SQL?

大城市里の小女人 提交于 2020-07-29 06:40:08
一、Spark SQL简介 Spark SQL是Spark用来处理结构化数据的一个模块,它提供了一个编程抽象叫做DataFrame并且作为分布式SQL查询引擎的作用。 为什么要学习Spark SQL?我们已经学习了Hive,它是将Hive SQL转换成MapReduce然后提交到集群上执行,大大简化了编写MapReduce的程序的复杂性,由于MapReduce这种计算模型执行效率比较慢。所以Spark SQL的应运而生,它是将Spark SQL转换成RDD,然后提交到集群执行,执行效率非常快!同时Spark SQL也支持从Hive中读取数据。 二、Spark SQL的特点 无缝集成在Spark中,将SQL查询与Spark程序混合。Spark SQL允许您使用SQL或熟悉的DataFrame API在Spark程序中查询结构化数据。适用于Java、Scala、Python和R语言。 提供统一的数据访问,以相同的方式连接到任何数据源。DataFrames和SQL提供了一种访问各种数据源的通用方法,包括Hive、Avro、Parquet、ORC、JSON和JDBC。您甚至可以通过这些源连接数据。 支持Hive集成。在现有仓库上运行SQL或HiveQL查询。Spark SQL支持HiveQL语法以及Hive SerDes和udf,允许您访问现有的Hive仓库。 支持标准的连接

Spark无法读取hive 3.x的表数据

牧云@^-^@ 提交于 2020-07-29 03:53:26
通过Ambari2.7.3安装HDP3.1.0成功之后,通过spark sql去查询hive表的数据发现竟然无法查询 HDP3.0 集成了hive 3.0和 spark 2.3,然而spark却读取不了hive表的数据,准确来说是内表的数据。 原因 hive 3.0之后默认开启ACID功能,而且新建的表默认是ACID表。而spark目前还不支持hive的ACID功能,因此无法读取ACID表的数据. 请看:https://issues.apache.org/jira/browse/SPARK-15348 解决办法 修改以下参数让新建的表默认不是acid表。 hive.strict.managed.tables= false hive.create. as .insert.only= false metastore.create. as .acid= false 来源: oschina 链接: https://my.oschina.net/u/4346988/blog/4399186

Kylin的工作原理

会有一股神秘感。 提交于 2020-07-29 01:47:02
Apache Kylin 的工作原理本质上是 MOLAP (多维立方体分析) 。 维度和度量 维度就是观察数据的角度 ,例如: 电商的销售数据,可以从时间的维度来观察,也可以细化从时间和地区的维度来观察 统计时,可以把维度值相同的记录聚合在一起,然后应用聚合函数做累加、平均、去重计数等聚合计算 度量就是被聚合的统计值,也是聚合运算的结果 。 时间(维度) 销售额(度量) 2019 1Q 1.7M 2019 2Q 2.1M 2019 3Q 1.6M 2019 4Q 1.8M 时间(维度) 地区(维度) 销售额(度量) 2019 1Q 中国 1.0M 2019 1Q 北美 0.7M 2019 2Q 中国 1.5M 2019 2Q 北美 0.6M 2019 3Q 中国 0.9M 2019 3Q 北美 0.7M 2019 4Q 中国 0.9M 2019 4Q 北美 0.9M Cube 和 Cuboid 一个数据表或数据模型上的字段就它们要么是维度,要么是度量(可以被聚合) 给定一个数据模型,可以对其上的所有维度进行组合。对于 N 个维度来说,组合的所有可能性共有 2 的 N 次方种 对于每一种维度的组合 ,将度量做聚合运算,然后将运算的结果保存为一个物化视图,称为 Cuboid (立方形) 所有维度组合的 Cuboid 作为一个整体,被称为 Cube (立方体) 。一个 Cube

大数据分析之纳税人画像-实现和优化思路

不羁的心 提交于 2020-07-28 20:37:09
1.背景环境 本文章来自最近做的项目模块的思考和总结,主要讲思路不涉及过多的基础和实现细节。 需求:统计出来纳税人名称、行业、近一年业务量(办税服务厅、电子税务局、自助渠道),近一年业务量top5(办税服务厅、电子税务局、自助渠道)、近一年纳税金额、近一年申报数、近一年用票数。支持根据所属税务机关分页查询。 看上去业务不复杂,但是 数据来自多个系统,数据量很大。 来来画个示意图展示下数据来源的复杂程度: 数据涉及5个厂商, 数据库采用oracle ,涉及几十张表,其中纳税人信息生产环境下有380多万,更不用说其他业务表的数据量有多大了,并且还需要分组,统计,排序。此时此刻心情如下: 2.实现方案 2.1 视图(失败的方案) 由于项目时间关系,想法很简单先采用视图,先实现再说。(其实在做的时候就有不详的预感,感觉这种方案不行)。于是开干,在实现的过程中我用到的 关键技术点有: oracle wm_concat(column)函数实现查询相同id字段,内容以逗号分隔 select id, wmsys.wm_concat(字段名)字段别名 from table group by id Oracle分组查询取每组排序后的前N条记录 SELECT * FROM ( SELECT 分组的字段名, ROW_NUMBER() OVER(PARTITION BY 分组的字段名 ORDER BY

基于DolphinScheduler提交spark yarn-cluster与yarn-client模式的致命区别

我的梦境 提交于 2020-07-28 20:14:40
一、组件版本 二、提交方式 三、运行原理 四、分析过程 五、致命区别 六、总结 一、组件版本 调度系统:DolphinScheduler1.2.1 spark版本:2.3.2 二、提交方式 spark在submit脚本里提交job的时候,经常会有这样的警告 Warning: Master yarn-cluster is deprecated since 2.0. Please use master "yarn" with specified deploy mode instead. 这是因为你用了yarn-cluster的方式: spark-submit \ --master yarn-cluster \ --executor-cores 2 \ --num-executors 3 \ --executor-memory 4g \ --driver-memory 1g \ test_spark.py 其实yarn-cluster与yarn-client分为两部分,分别对应spark内部的参数 master-deployMode ,不论你指定yarn-cluster还是yarn-client,master的值在源码里面都强制置为了 YARN ,在 org.apache.spark.deploy.SparkSubmit 类中源代码如下: val clusterManager : Int

hadoop相关环境搭建

余生颓废 提交于 2020-07-28 18:45:54
文章内容输出来源:拉勾教育Java高薪训练营 集群规划 计划在3台虚拟机安装hadoop、hbase、hive,192.168.3.24,192.168.3.7,192.168.3.8 hosts配置 /etc/hosts 192.168.3.24 centos1 192.168.3.7 centos2 192.168.3.8 centos3 环境变量 首先需要安装jdk,并配置环境变量。 export JAVA_HOME=/opt/soft/jdk1.8.0_45 export PATH=$PATH:$JAVA_HOME/bin:/opt/soft/apache-hive-2.3.6-bin/bin:/opt/soft/hadoop-2.9.2/bin hadoop环境 安装hadoop 配置文件,在/opt/soft/hadoop-2.9.2/etc/hadoop目录下,三台机子要修改成一样 core-site.xml <configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property>