Hive 使用FileFormat v Serde读取自定义文本文件

这里是Hadoop/Hive新手。我正在尝试使用Hive中以自定义基于文本的格式存储的数据。我的理解是,您可以编写一个自定义的FileFormat或一个自定义的SerDe类来实现这一点。是这样还是我误解了?关于何时选择哪个选项,有哪些一般性的指导原则?谢谢 如果您正在使用Hive,请编写一个serde。参见以下示例: 请注意,此接口是特定于配置单元的。如果您想在常规hadoop作业中使用自定义文件格式,则必须实现一个单独的接口(我不完全确定是哪个接口) 如果您已经知道如何用另一种语言反序列化数

Hive 在配置单元中获取数据的交集

我在hive中有以下数据: userid cityid 1 15 2 15 1 7 3 15 2 8 3 9 3 7 我只想保留具有cityid 15和cityid 7的userid(在我的示例中,它将是userid的1和3)。 我试过: 但对于蜂巢来说,它不起作用。 有人能帮忙吗 谢谢 好的,我找到了方法: select a.userid from (select userid from table where cityi

Hive metastore_db在我运行配置单元的任何位置创建

文件夹metastore\u db是在运行配置单元查询的任何目录中创建的。有没有办法在一个定义的位置只有一个metastore_db,并阻止在所有位置创建它?它与hive.metastore.local有关吗?这里感兴趣的属性是javax.jdo.option.ConnectionURL。此属性的默认值是jdbc:derby:;databaseName=metastore_db;create=true。此值指定将使用嵌入式derby作为配置单元元存储,并且元存储的位置为metastore\u d

Hive 用于获取字符串类型的两个日期之间的记录的配置单元查询

我正在尝试查询一个表,其中包含色调上的“st_日期”和“end_日期”字段。这些字段采用字符串类型值,例如“2014-04-04”、“2009-10-10”等。假设我想查找st_date=2014-04-04'和end_date='2014-10-10'之间的记录,这两个日期都包括: 如何编写查询以检索记录,其中st_date>2014-04-03和end_dateCAST(翻译(“2014-04-03,”-“,”)为BIGINT)和CAST(翻译(结束日期,“-”,”)为BIGINT)“201

Hive 蜂箱罐';t将flume推文数据导入仓库(HDFS)

我正在使用Cloudera CDH 5.0.2,希望将flume数据导入到Hive元存储中/warehouse@HDFS. 但它不起作用 我使用了以下JSON SerDe: 我使用以下代码使用配置单元编辑器创建表: CREATE EXTERNAL TABLE tweets ( id BIGINT, created_at STRING, source STRING, favorited BOOLEAN, retweeted_status STRUCT< text:

Hive 从选择将配置单元插入

我想在我的配置单元表中插入计数*的结果: hive -e "use eapi;INSERT into searchresults 'ANZHAUS_GES','Null',(select count(*) from adpubsdmdata WHERE ANZHAUS_GES>=0 && ANZHAUS_GES<=0);" 我得到的结果是: 表名称中的searchresults附近缺少表 我做错了什么 您需要将其格式化为子查询: hive -e "use e

Hive 如何在配置单元中为数组中的每个元素调用UDF?

我有一个配置单元表,其中一列是字符串数组。我还有一组自定义UDF,用于处理单个字符串。我想让hive对数组中的每个元素执行自定义UDF,然后将结果作为修改后的数组返回 这似乎是一个简单的要求,但我无法找到一个简单的解决方案。我发现了两种可能性,没有一种是简单的: 使用explode和侧向视图执行配置单元SQL操作,然后调用UDF,然后聚合回数组。这似乎太过分了,因为我看不到它在少于2个mapreduce作业中执行(但我可能在这里错了) 将我的每个UDF实现为GenericUDF,该UDF随数组一

Hive 如何在将数据从文本文件导入配置单元表时防止双引号转义

我有这个数据类型信息映射,如果我在配置单元控制台中选择这个字段,结果将如下所示 {“a”:“value1”,“b”:“value2”} 如何在文本文件中表示此数据,以便在将其导入配置单元表时正确表示。我的意思是我的文本文件应该有这样的内容吗 a:value1,b:value2您是否尝试在配置单元中加载JSON文档?可以在配置单元中加载和查询JSON数据 在您的情况下,“a”和“b”将成为列名(标题)

Hive 配置单元中的布尔列加载为NULL

我有以下输入csv文件 10418872, fever, FALSE 10418872, shortness of breath, FALSE 10418872, shortness of breath, FALSE 10418872, shortness of breath, FALSE 我使用这些命令创建了一个配置单元表,并在其中加载了数据 create database bpo; CREATE EXTERNAL TABLE bpo.adverse(patientId INT, sympt

elasticsearch 无法查询配置单元外部表中的日期字段

完全无法从配置单元外部表获取数据。到目前为止,我一直在做下面的工作 我有一个带有日期字段的托管表,其值为2014-10-23 我创建了外部表来存储弹性搜索中的数据,如下所示 创建外部表ext3( 运行(日期) 行格式SERDE'org.elasticsearch.hadoop.hive.EsSerDe' 由“org.elasticsearch.hadoop.hive.EsStorageHandler”存储 TBLProperty('es.resource'='dfs/ext3','es.fiel

Hive 在python3中安装pyhs2时出现问题

我正在使用CentOS 6.5,希望访问远程配置单元服务器。但是我无法使用pip install pyhs2安装pyhs2 我已安装所有必需的依赖项: gcc-c++ python-devel.x86_64 cyrus-sasl-devel.x86_64 但我还是犯了同样的错误: Failed building wheel for sasl Failed to build sasl Installing collected packages: sasl, pyhs2 Running setu

Hive 在配置单元中查询映射值

我在蜂巢里有一张桌子,每小时都会通过Spark/Parquet更新一次 CREATE TABLE IF NOT EXISTS user ( name STRING, creation_date DATE, cards map<STRING,STRING> ) STORED AS PARQUET ; 结果是这样的 KillerZord1001 2016-01-02 {"Archer":"2",&qu

Hive 配置单元:GC开销或堆空间错误-动态分区表

您能指导我解决这个GC开销和堆空间错误吗 我正在尝试使用以下查询从另一个表(动态分区)插入分区表: INSERT OVERWRITE table tbl_part PARTITION(county) SELECT col1, col2.... col47, county FROM tbl; 我已运行以下参数: export HADOOP_CLIENT_OPTS=" -Xmx2048m" set hive.exec.dynamic.partition=true; set hive.exe

Hive 在没有Hadoop/HDFS的情况下使用配置单元元存储服务

我知道这个问题有点奇怪。我喜欢Hadoop和HDFS,但最近在使用Hive Metastore开发SparkSQL 我想使用SparkSQL作为一个垂直的SQL引擎来跨不同的数据源运行OLAP查询,比如RDB、Mongo、Elastic。。。没有ETL过程。然后,我使用相应的配置单元存储处理程序将不同的模式注册为Metastore中的外部表 此外,HDFS在我的工作中没有用作数据源。然后,给定的Map/R已经被Spark engine取代。在我看来,Hadoop/HDFS除了为Hive的安装奠定

sqoop和hive的问题

我们面临以下问题详情如下,请分享您的意见 1) sqoop中的--validate选项存在问题 如果我们运行sqoop命令而不为其创建作业,那么validate可以工作。但是如果我们先创建一个作业,使用validate选项,validate似乎不起作用 配合 sqoop导入--连接“DB连接”-username$USER--密码文件$file_Path--仓库目录$TGT_dir--作为文本文件--字段以“|”结尾--行以“\n”结尾--表emp_table-m1--outdir$HOME/ja

Hive 配置单元浮点原语是否支持小数点后两个以上的精度?

配置单元只支持小数点后的一个精度。我们可以更改配置单元中浮点的精度值吗?如果没有,我们可以覆盖配置单元浮点函数 Ex: Hive support float as below create table test(amount float); amount ------ 100.0 Expectation : create table test(amount float(10,4)); amount ------ 10000.000

Hive 如何更改配置单元表所有者

我创建了一个配置单元表“sample”,其所有者为“X” hive> show table extended like sample; --将所有者显示为“X” hive> show table extended like sample; 是否有一种方法可以将所有者更改为其他“Y”,而无需重新创建表(不希望丢失数据) 一个已知的选项是直接在postgres配置单元元存储表中更新所有者 hive=# update "TBLS" set "OWNER" = 'Y' where "OW

Hive 配置单元:在数据文件中使用引号字符作为分隔符

我们可以在配置单元数据文件中使用引号(“或”)作为分隔符吗?如果不能,为什么? 如果我们可以引用一个可以用作配置单元数据分隔符的字符列表,那就太好了。当使用十进制表示法时,您可以使用整个基本ascii范围(十进制0-127)测试 避免使用\n或\r 至于“和”,可以直接完成- create table mytable (i int,j int) row format delimited fields terminated by '"'; create table mytable (i int,j

Hive 在配置单元中按列相互关联数据

是否可以按列在配置单元表中添加数据 例如: 假设我有一个这样的蜂箱表(t1) table: col1 col2 1 20 34 78 67 89 我有一些单独的数据,比如 col3 10 20 30 COL3,你可以把它看成一个数组或一个表。对于同一个表t1,我希望实现如下效果: col1 col2 col3 1 20 10 34 78 20

Hive 配置单元-Varchar vs String,如果存储格式是拼花文件格式,有什么优势吗

我有一个配置单元表,它将保存数十亿条记录,这是一个时间序列数据,因此分区是每分钟一次。每分钟我们将有大约100万条记录 我的表中只有几个字段,VIN编号(17个字符),状态(2个字符)。。。等 所以我的问题是,在创建表的过程中,如果我选择使用Varchar(X)vs String,是否存在任何存储或性能问题 varchar的一些限制是 如果我们提供超过“x”个字符,它将自动截断,所以 保持它的连续性将是未来的证明 非泛型UDF不能直接使用varchar类型作为输入参数 或返回值。可以创建字符串

Hive 在配置单元中创建外部表时更改默认位置

我想从视图在蜂巢中创建一个外部表,并更改默认的位置: CREATE external TABLE market.resultats like v_ca_mag LOCATION '/user/training/market/db/resultats'; 创建了表,该表是外部的,但位置是默认的/user/hive/warehouse/market.db/resultats 为什么不考虑位置 我正在使用cdh 5.4可能是一个bug,请打开jira来解释这个问题 作为一种解决方法,一旦创建完外部表

Hive 如何基于包含模式的Avro文件构建Avro配置单元表?

我们有一个Avro格式的数据集,每个Avro文件中都有模式 我想在这些文件上建立配置单元表 我从社区里的一个老问题中得到了以下建议: 创建存储为AVRO位置的外部表sampe_表'hdfs:///user/hive/; 但每当我尝试时,总是会出现错误: java.lang.Exception: java.sql.SQLException: Error while processing statement: FAILED: Execution Error, return code 1 from

Hive 配置单元-错误:在'处缺少EOF;其中';

我正在努力学习Hive,特别是像unix时间戳和unixtime中的unix\u timestamp和这样的函数 我有三张桌子 emp (employee table) +---+----------------+ | id| name| +---+----------------+ | 1| James Gordon| | 2| Harvey Bullock| | 3| Kristen Kringle| +---+----------------+ txn

Hive 蜂巢星期天开始?

我试图为给定的日期确定一周的开始时间(星期天,作为一个日期)。这项功能在星期天除外,因为一周的起始日期从星期一开始: SELECT DATE_SUB(FROM_UNIXTIME(UNIX_TIMESTAMP(CURRENT_DATE(), 'yyyy-MM-dd')), CAST(FROM_UNIXTIME(UNIX_TIMESTAMP(CURRENT_DATE(), 'yyyy-MM-dd'), 'u') AS INT)) 上述函数将返回“2018-04-15”,提供日期为“2018-04-

Hive 在impala中将列转换为行

我有以下三张桌子 tab_2016 +-----+------+---------+ | id | month| salary | +-----+------+---------+ | 002 | aug | 500 | | 002 | sep | 400 | +-----+------+---------+ tab_2017 +-----+------+---------+ | id | month| salary | +-----+------+---

Hive 配置单元-仅获取一个或多个配置单元表的最新分区

我在配置单元中每年有三个分区表,所有表都有多个分区。作为我要求的一部分,我将加入所有这三个表格。现在,我只想为最新的分区运行此sql,而不是为以前创建的分区运行此sql 我试图在where子句中使用maxpartition,但似乎不受支持 我做了一些类似于下面的事情,而不是确切的代码。只是一个代码概念 select a.*, b.*, c.* from table1 a left join table2 b on a.ID = b.ID left join table3 c on a.ID =

Hive AZURE Blob存储上的配置单元ORC ACID表可能合并

在HDFS配置单元上,配置单元合并的ORC ACID没有问题 在S3上不可能 对于Azure HD Insight,我从文档中不清楚是否可以在Azure Blob存储上创建这样的表?寻求确认或其他方式 我很确定不行。但是,请参见我对答案的更新。根据Azure HDInsight官方文档,如下图所示 正如我所知,配置单元合并需要MapReduce,但HDInsight不支持配置单元合并,因此也不可能 按问题更新海报 HDInsight 4.0不支持针对Apache配置单元的MapReduce。改

Hive 如何利用Metastore中存储的统计信息进行配置单元查询

我正在使用Hive版本1.2.1。如果我从mytable运行selectcount(*),我会看到它启动了一个Tez作业。因此,显然它没有使用任何表统计信息,因为理想情况下,行数应该从存储在配置单元元存储中的表统计信息中获取。我还显式地检查了配置单元元存储中的所有表,但在那里没有找到任何表名,这在某种程度上表明它存储了表统计信息。我能看到的唯一次好的相关表是TAB\u COL\u STATS,但是这个表只存储列级统计信息,而且它也只有非常少的行,这个表有10行。这提出了两个问题 此版本的配置单元

Hive 在配置单元中获取错误:由于Root\u Input\u init\u失败,vertex失败,使用Tez时可以增加多少内存?

在配置单元中获取错误:顶点失败#某些顶点名称#由于Root_输入_init_失败而被杀死/失败我不确定这是内存问题;参数为 tez.am.resource.memory.mb是容器的大小。 容器的数量是数据源的计算大小的函数。 使用crypto时,常见的解决方法是(顶点因map和Reduce之间的格式更改而崩溃) 更新以下参数:set hive.auto.convert.join=false; set hive.auto.convert.join=false;

Py4JError:org.apache.flink.table.catalog.hive.HiveCatalog在JVM中不存在

我正在尝试从以下url运行flink目录示例: 从pyflink.table导入* 从pyflink.table.catalog导入HiveCatalog、CatalogDatabase、ObjectPath、CatalogBaseTable 从pyflink.table.descriptor导入卡夫卡 settings=EnvironmentSettings.new_instance()。在批处理模式()下。使用\u blink\u planner()。build() t_env=Batch

Hive 取消映射并减少配置单元查询的进度

是否有一个选项可以抑制映射并减少配置单元查询的进度,即 2013-04-07 19:21:05,538 Stage-1 map = 13%, reduce = 4%, Cumulative CPU 28830.05 sec 2013-04-07 19:21:06,558 Stage-1 map = 13%, reduce = 4%, Cumulative CPU 28830.05 sec 同时使用-v选项保留所有其他输出,尤其是查询本身 hive -S -v -e "select * fr

Hive Pig脚本因java.io.EOFException失败:输入流意外结束

我有一个Pig脚本,它使用正则表达式提取一组字段,并将数据存储到配置单元表中 --Load data cisoFortiGateDataAll = LOAD '/user/root/cisodata/Logs/Fortigate/ec-pix-log.20140625.gz' USING TextLoader AS (line:chararray); --There are two types of data, filter type1 - The field dst_country see

Hive 错误号104:对等方重置连接

我正在尝试从HUE打开配置单元UI,但从Web UI中仅收到以下错误: [Errno 104]对等方重置连接 我观察了蜂巢和色调日志,但没有任何错误报告。无论如何,Hive在命令行中运行良好,所以我不明白问题出在哪里。我的色调版本是2.6.1-2041,我使用Hadoop 2.6.0和Hive 0.14运行HDP2.2.0 当我尝试打开HCatalog时,也会发生同样的情况。hue2将查询提交到Beeswax,除非您将其指向HiveServer2:。他们起床了吗?您可以在/desktop/dum

Hive kibana能否连接弹性搜索以外的数据源?

Kibana能否连接弹性搜索以外的数据源,并在其他数据源的数据上构建可视化? 更具体地说,我希望将Kibana与Hive联系起来 不,您不能直接连接Kibana,但可以将Elasticsearch连接到hadoop。 使用es hadoop请参见 类似地,您可以将其他数据源连接到elasticsearch,如Logstash、es hadoop或第三方技术,如Apache Flume、Fluentd和其他许多技术。 见-

Hive 拆分配置单元中表的多值列

我有一个蜂箱表,如下所示: "Rinalytics Advisors" "5-10 yrs" "Bengaluru/Bangalore Mumbai" 上面是我拥有的表的三列。我需要将此处指定的第三列拆分为两行。表中的值用空格分隔 预期产出如下: Rinalytics Advisors 5-10 yrs Bengaluru/Bangalore Rinalytics Advisors 5-10 yrs Mumbai 试试这

Hive 丢失配置单元表中的小数位数

我为配置单元表创建了一个浮动列。然后我上传了一些lat/lng数据: -74.223827433599993,40.698842158200002 -117.57601661229999,34.044852414099999 -81.055917609600002,29.239413820500001 -80.369884327199998,25.789129988199999 当我将数据查询出或查询到另一个表中时,舍入非常重要: -74.22383,40.69884 -117.57602,3

Hive 配置单元数据库的使用需要密码保护

如果有人想使用命令hive>use database\u name在配置单元中使用数据库它应该询问密码 我尝试使用Kerberos,但没有满足我的要求,因为它是用于完整集群的。如何使用密码身份验证?目前,在执行配置单元命令时,配置单元不支持密码登录,但作为配置单元数据库和表安全性的一部分,可以在您的场景中使用名为的东西 您可以根据集群管理员提到的用户访问级别轻松地限制用户

Hive 具有字符串数据类型的配置单元表中的最高日期

我是个蜂巢新手,需要你的帮助。我的要求是从表中获取最高日期,并且我的日期数据类型是string。我尝试使用max(),但它不适用于字符串数据类型。。。请在这方面帮助我。使用内置的日期函数 unix\u时间戳将字符串日期转换为unix\u时间戳为int,这是可比较的 假设您的表名为t,时间列为tt 从t中选择max(unix\u时间戳(tt,'yyyyymmdd') 将为您找到maxunix\u时间戳,它是最新的日期使用内置的日期函数 unix\u时间戳将字符串日期转换为unix\u时间戳为int

Hive 配置单元属性设置

我有一个csv文件中的数据集。我在配置单元中创建了一个表,其中包含两个字段id和用户id。我使用select查询检索了数据。它显示id、用户id和NULL。我只想显示id和用户id。谁能帮我解决这个问题 样本数据; 116贾斯汀 582伊万 ..... 查询: 配置单元>创建表配置单元注释(id字符串、用户id字符串)行格式分隔字段,以“,”结尾 配置单元>在路径“home/edureka/Documents/Project/dataDec-12-2015.csv”中将本地数据加载到表配置单元

Hive 配置单元错误:Spark执行中查询中不支持的语言功能

SQL查询中NOT EXISTS子句的Spark SQL配置单元错误 以下“不存在”查询在配置单元提示符中正常运行: 从不存在的过渡t中选择a、b、c、d,从xyz\n ABC中选择a,其中a=a、b=b、c=c 但同样的程序在spark执行的查询中提供了错误不支持的语言特性 from pyspark import SparkContext sc =SparkContext() from pyspark.sql import HiveContext sqlContext = HiveCont

Hive 操纵配置单元变量

我想从传递的配置单元变量中减去一个数字。例如: SET hiveconf:window_size = 12 SELECT id , max(marks) OVER(ORDER BY Date_time ROWS BETWEEN ${hiveconf:window_size}-1 PRECEDING AND CURRENT ROW) from Students; 但是window函数中的${hiveconf:window\u size}-1给出了错误 任何人都可以对此提出建议。它不喜欢边界之间行

hive中的Zip并行阵列

我在配置单元表中有并行阵列,如下所示: with tbl as ( select array(1,2,3) as x, array('a','b','c') as y) select x,y from tbl; x y [1,2,3] ["a","b","c"] 1 row selected (0.108 seconds) 如何将它们压缩在一起(比如pythonzip函数),以便返回结构列表,比如 [(1, "a"), (2, "b"), (3,"c")] 您可以pose

Hive 在Avro中声明简单时间戳的正确方法是什么

我们如何在Avro中声明一个简单的时间戳 类型:时间戳不起作用。所以我实际上使用了一个简单的字符串,但我希望它作为时间戳。(这是我的变量:27/01/1999 08:45:34) 感谢您使用Avro的逻辑类型: {"name":"timestamp","type": {"type": "string", "logicalType": "timestamp-millis"} 一些有用的链接: 使用Avro的逻辑类型: {"name":"timestamp","type": {"type"

Hive 使用具有多个内部联接的sum

我有几张桌子要选。我还想在其中一个表上使用sum。这是我到目前为止得到的 放下桌子。。。如果存在 创建表格。。。如果存在为 选择 fbp* bcs.yyyy\U mm\U dd, cspd.*, 来自xxx.fbp fbp fbp.id=st.xml\u id上的内部联接表2 st 内连接 选择 案例 当field1为空时,则为0 ELSE Sumfield 1 结束为字段1 来自表2 bcs 其中yyyy\u mm\u dd>='2019-04-21' 按bcs.column\u id分组 作

Hive 配置单元如何以2020-04-17T19:17:56.017719Z格式获取当前时间戳

我正在使用Hive,手头有一项重要任务,需要当前时间戳的格式为2020-04-17T19:17:56.017719Z 如果您能在蜂箱中提供准确的解决方案,我们将不胜感激。 谢谢 结果: 2020-04-26T11:12:35.590Z 2020-04-26T11:28:13.433Z 2020-04-26T11:50:51.804Z 2020-04-26T21:53:31.261356Z 或者还有一种方法 select concat(from_unixtime(unix_timestam

Hive 用于配置单元视图的sqoop导出

我正在尝试将配置单元视图sqoop到SQL server数据库,但得到“未找到对象错误”。sqoop导出是否适用于配置单元视图 sqoop export --connect 'jdbc:jtds:sqlserver:<Connection String>' --table 'tax_vw' --hcatalog-database default --hcatalog-table tax_vw --connection-manager org.apache.sqoop.manager.

  1    2   3   4   5   6  ... 下一页 最后一页 共 63 页