草庐IT

test_hive

全部标签

hadoop - Hive转HBase的问题

我看到一个外部Hive表存储了HBase的数据:CREATEEXTERNALTABLEIFNOTEXISTSods.demo_table(rowkeyStringCOMMENT'rowkeyofhbase',....)STOREDBY'org.apache.hadoop.hive.hbase.HBaseStorageHandler'WITHSERDEPROPERTIES("hbase.columns.mapping"="info:...")TBLPROPERTIES("hbase.table.name"="...","hbase.mapred.output.outputtable"="

hadoop - 在创建需要动态配对的 Hive 表时,是否有任何列顺序?

我正在尝试将RDBMS表加载到Hive中。我需要根据列数据对表进行动态分区。我有如下所示的Greenplum表架构:forecast_id:bigintperiod_year:numeric(15,0)period_num:numeric(15,0)period_name:charactervarying(15)drm_org:charactervarying(10)ledger_id:bigintcurrency_code:charactervarying(15)source_system_name:charactervarying(30)source_record_type:cha

hadoop - Hive:如果不存在则创建函数

在我的配置单元脚本的开头,我有以下语句:使用jarz创建函数x作为y;现在,如果函数已经存在,它会给我一个错误:处理语句时出错:失败:执行错误,从org.apache.hadoop.hive.ql.exec.FunctionTask返回代码1。AlreadyExistsException(消息:函数x已经存在)如果我使用createfunctionifnotexistsxasyusingjarz;,我会得到这个错误:编译语句时出错:FAILED:ParseExceptionline7:192cannotrecognizeinputnear'if''not''exists'infunct

apache-spark - spark-sql读取hive表失败

我想通过hivejdbc连接将整个hive表加载到spark内存中。并且已经在我的项目中添加了hive-site.xml、hdfs-site.xml。由于成功获取列名(eg.role_id),spark已经连接到hive。但是spark似乎将列名加载为数据,并抛出异常。这是我的代码:valdf=spark.read.format("jdbc").option("driver",CommonUtils.HIVE_DIRVER).option("url",CommonUtils.HIVE_URL).option("dbtable","datasource_test.t_leave_map_

java - 设置 hive.exec.pre.hooks 时出现 ClassNotFoundException

我正在按照此文档进行配置单元Hook:http://dharmeshkakadia.github.io/hive-hook/但是当showtables时我得到了这个错误2018-08-1209:57:38,122ERRORorg.apache.hadoop.hive.ql.Driver:[HiveServer2-Background-Pool:Thread-315]:hive.exec.pre.hooksClassnotfound:HiveExampleHook2018-08-1209:57:38,122ERRORorg.apache.hadoop.hive.ql.Driver:[Hi

sql - 使用 Hive 复杂数据类型

我正在尝试将文本文件加载到配置单元数据库中,文本文件中的值是,分隔的,这些值中有一个值是数组类型。这是我的示例数据。101,suresh,67,45,67,21,hyderabad这里:101:学号suresh:学生姓名67,45,67,21:学生成绩hyderabad:学生所在地这里我需要如何加载到配置单元中101,suresh,[67,45,67,21],hyderabad标记字段必须作为数组类型加载。我该怎么做? 最佳答案 您可以使用regexserde并创建文本表。问题出在数组类型,因为regexserde不允许数组数据类型

hadoop - SQL 中的动态聚合 (Hive)

我有两张table。表A有3列:用户标识、开始日期和结束日期。带有事件和日期时间戳的表B。我想根据表A将表B汇总到开始日期和结束日期之间的日期时间。所以类似...selecta.userid,count(distinctb.eventid)aseventsfromtableainnerjointablebona.userid=b.useridandb.datetimebetweena.starttimeandb.endtimegroupbya.userid但Hive不喜欢那样...我正在使用HadoopHortonWorks。非常感谢任何指导! 最佳答案

hadoop - Hive:如何处理数据文件中有分隔符的文件?

我有以下数据需要插入到配置单元表中。数据在文件中具有默认分隔符。如何插入到Hive表中?10,Andrew,Man”,”ager,DE,PC11,Arun,Manager,NJ,PC12,Harish,Sales,NJ,MAC13,Robert,Manager,PA,MAC14,Laura,Engineer,PA,MAC谢谢! 最佳答案 尝试使用CSVSerdecreatetabletest_table(idint,...)ROWFORMATSERDE'org.apache.hadoop.hive.serde2.OpenCSVSer

apache-spark - 在用压缩文件替换 HDFS 中的小文件时如何避免破坏事件的 Hive/Presto 查询?

我们有100多个HDFS分区,我们每天每小时都会写入这些分区。分区是每天进行的,以便直接加载到Hive中,数据以Parquet格式写入。我们遇到的问题是,因为我们想尽可能快地获取数据可查询,每小时写入导致很多小文件。有很多例子,例如Howtocombinesmallparquetfilestoonelargeparquetfile?对于合并代码;我的问题是在移动/替换新压缩的文件以替换小文件时如何避免破坏人们的主动查询? 最佳答案 Metastore对每个分区都有一个文件系统位置。该位置通常基于表和分区:hdfs://namenod

hadoop - Hive - 将 'yyyy-MM-dd' 之类的字符串转换为数据类型为“yyyy-MM-dd”的日期

我在hive中有一个外部表,它的列为report_dt,数据类型为string,其值类似于2018-09-022018-09-03而且我想根据写在这个外部表上的查询创建托管表,其中report_dt_1作为列,数据类型为date我已经经历了一些线程,我能够像这样查询createtablemanag_newtableasselectto_date(from_unixtime(unix_timestamp(report_dt,'yyyy-MM-dd'),'yyyy-MM-dd'))asreport_dt_1fromexter_table;所以上面的查询创建了一个新表,但是当我descman