草庐IT

hadoop - hive -e 带分隔符

我正在尝试从配置单元表中导出数据,如下所示,但它正在生成以制表符作为分隔符的文件。导出时是否可以指定分隔符为逗号或制表符?hive-e"usedefault;sethive.cli.print.header=true;select*fromtest1;">/temp/test.txt(or.csv)谢谢J 最佳答案 您可以通过管道传输数据并使用简单的sed命令将数据转换为所需的输出格式。下面的sed命令用逗号替换制表符。默认输出是Tab。您可以相应地更改输出。hive-e"usedefault;sethive.cli.print.h

java - 如何修复 Hadoop : the Definitive Guide? 中 Hive UDAF 示例的 NoMatchingMethodException

我想计算温度的平均值。然后我创建了一个名为“mean”的UDAF。我按照书中建议的步骤进行操作并得到了NoMatchingMethodException。FAILED:NoMatchingMethodExceptionNomatchingmethodforclasscom.zzy.hadoopbook.hive.Meanwith(double).Possiblechoices:_FUNC_(struct)这是我的HiveQL:DROPTABLEIFEXISTSrecords3;CREATETABLErecords3(yearSTRING,temperatureDOUBLE,qualit

sql - Hive SQL Integer YYYYMM 前几个月

我想创建一个查询最近2个月的SQL语句。例如:Select*fromxwheresampledate目前我正在使用这个:(year(from_unixtime(unix_timestamp()))*100+month(from_unixtime(unix_timestamp())))-1但它在一年的前两个月返回错误的语句:(我的想法是用日期计算,然后把它改成yyyymm整数格式。有什么想法吗? 最佳答案 你能试试这个吗:SELECTcolomnFROMtableWHEREdate>(SELECTadd_months(from_uni

sql - 使用时间轴列作为 Hive 分区字段时出现异常

我正在尝试将数据从普通表加载到Hive分区表。这是我的普通表格语法:createtablex(namestring,date1string);这是我的新分区表语法:createtabley(namestring,date1string)partitionedby(timestamp1string);下面是我是如何加载数据到y的:insertintotableyPARTITION(SUBSTR(date1,0,2))selectname,date1fromx;这是我的异常(exception):FAILED:ParseExceptionline1:39missing)at'('near'

hadoop - 如何删除 Hive 中的两个分区列之一?

我创建了一个包含两个分区列的配置单元表,例如col1和col2,现在出于某些分析目的,我希望删除col2分区。基本上我希望从分区列列表中删除列-col2,但我不应该丢失col2中的数据。很明显,最终表应仅由col1分区,而col2也应存在于最终分区表中,但作为普通列而不是分区列。请提出前进的方向。 最佳答案 下面是最好的方法之一。只需更新配置单元分区:ALTERTABLEPARTITION(year=2018,month=05)SETLOCATION'hdfs://some/temp/location/tale_name/2018/

hadoop - 在 GCP 上连接 b/w R studio server pro 和 hive

这不是与编程相关的问题,请耐心等待。我目前在GCP上设置了两个实例——一个是RstudioserverPRO,另一个是我的HiveDB集群。我希望使用我的rstudioserverpro访问配置单元中的数据库。两者都在GCP上运行。有人可以指导我吗?(我看过有关rstudio桌面的文章--->hive连接以及从spark集群中运行rstudio-server的文章,但我必须将RstudioserverPRO链接到hivedb,两者都在GCP上运行:O) 最佳答案 供将来引用:Rstudio-Dataproc-在这种特殊情况下,我将数

hadoop - Hive - Hive 如何在内部执行多个 BIG 表连接查询(在 MapReduce 中)以及如何对其进行优化?

假设我有4-5个所有大表(TB中的数据)并且我想将它们连接到配置单元中。Hive内部(在MapReduce中)如何以最佳方式执行连接。 最佳答案 可以使用Bucketized-Join或Sort-Merge-Join以最佳方式连接许多大表,请参阅HIVEJoinstrategies.所有表都需要进行相应的结构化(相同的存储桶,或以相同的方式排序和存储)。如果您的表的组织方式不同(存储相同),那么剩下的唯一选择就是随机连接,这将复制整个表(慢)。 关于hadoop-Hive-Hive如何在

apache-spark - Snappydata 和外部 Hive 兼容性

我正在尝试使用Snappydata1.0.1从Hadoop(HDP2.6.3)读取和处理数据。当指向Hivemetastore(通过Snappydata配置中的hive-site.xml)时,来自Snappydata发行版的Spark可以读取数据库列表,但不能在Snappydata中创建表。它告诉“找不到表”。此外,Snappydata集群UI显示该表,但Snappydata无法进一步使用它-使用此表的INSERT、SELECT、DROP命令会抛出表未找到错误,随后的CREATETABLE会提示“表已存在”。在不指定Hive元存储的情况下,它运行良好。hive-site.xml中的配置

hadoop - Hive:Decimal(12,9) 的列类型使用 JSONSerDe 抛出 NullPointerException

我有一个指向json数据的外部表。我正在使用serdeorg.apache.hive.hcatalog.data.JsonSerDe。我使用DDL在这个外部表之上创建了一个View:CREATEVIEW`my_table`ASSELECTa.col1,a.col2,......a.longitude,a.latitudeFROM(SELECTmytable.body.col1,mytable.body.col2,......mytable.body.longitude,mytable.body.latidute,ROW_NUMBER()OVER(PARTITIONBYmytable.b

hadoop - Hive 查询以根据多个可选键分配分组键

我们有一个包含三个不同ID的Hive表,所有ID都是可选的。在每一行中,必须至少提供三个ID中的一个。如果提供了多个ID,这将在多个ID之间建立等价关系。我们需要根据在任何行中建立的等价关系,为每一行分配一个唯一的主ID。例如:Lineid1id2id3masterID--------------------------------------(1)A1M1(2)A2M1(3)A3M1(4)A1A2M1(5)A2A3M1(6)B1A2M1(7)C1C3M2因为在第4行,A1和A2都存在,我们知道这些ID是等价的。同样,在第5行,A2和A3都存在,我们知道这些ID也是等价的。同样在第6行