草庐IT

hadoop - 携带字段,或存储和加入?

在使用Pig的Hadoop中,我在几个单独的源中有大量字段,我加载、过滤、投影、分组、运行几个JavaUDF、连接、投影和存储。(这是Hadoop中的日常生活。)UDF不使用原始数据加载中的某些字段,并且在最终存储之前不需要。WhenisitbettertopassunusedfieldsthroughUDFsthantostoreandjointhemlater?一个简单的玩具示例是一个包含列name,weight,height的数据源,我最终想存储name,weight,heightSquared。我的UDF将为我平方高度。哪个更好:inputdata=LOAD'data'ASna

join - Hadoop 加入字符串键

我正在实现减少端连接以查找数据库A和B之间的匹配项。数据集中的两个文件每行都包含一个json对象。连接键是每个记录的名称属性,因此,映射器提取json的名称并将其作为键传递,将json本身作为值传递。reducer必须合并相同或相似人名的jsons对象。问题是我需要使用字符串相似性匹配算法对键进行分组,例如,必须将JohnWhite视为等于JohnWhiteLennon。我尝试使用分组比较器来做到这一点,但它没有按预期工作。如何实现?提前致谢! 最佳答案 您在此处请求的内容可以描述为集合相似性连接,集合所在的位置,例如每行的标记集或

mysql - GROUP BY 和加入 HIVE

我怎样才能在HIVE中做这样的事情:表1:IDNameFriends1Tom5表2:IDNameDOB1Jerry10/10/19991KateNull1Peter02/11/19831RobertNull1Mitchell09/09/2000我想做的是:对于表1中的每个ID,找出num个不为空的DOB,然后除以Friends我写了一个查询:SELECTt.ID,t.Friends,COUNT(s.DOB)/t.FriendsfromTable1tjoinTable2son(t.ID=s.ID)GROUPBYt.ID当我这样做时,我收到错误消息,因为FRIENDS不是GROUPBYKe

hadoop - 加入两个表并在配置单元的新表中插入值

我是新手。我需要知道在配置单元中是否可以连接两个表(比如基于CustomedId列的customer_table和issues_table)并使用插入覆盖在配置单元的新表中插入值? 最佳答案 是的,可以使用CTAS(createtablenew_tableasselect...)语法。createtablenew_tableasselect*fromcustomer_table,issues_tablewherecustomer_table.CustomedId=issues_table.CustomedId;

hadoop - 加入 : space available is below the configured reserved amount 的配置单元查询

我在单节点集群上使用hive执行sql查询,我收到此错误:MapReduceJobsLaunched:Stage-Stage-20:HDFSRead:4456448HDFSWrite:0FAILTotalMapReduceCPUTimeSpent:0msec在日志http://localhost:50070/logs/hadoop-hadoop-namenode-hadoop.log中,可用空间似乎低于配置的保留量:org.apache.hadoop.hdfs.server.namenode.NameNodeResourceChecker:Spaceavailableonvolume'

database - Spark 中的快速条件加入

我正在尝试使用条件查询在Spark中进行快速扩充。我有两个键/值数据集:“事件数据”和“session映射”。“session映射”用于找出谁在两个时间戳之间使用给定的IP。“事件数据”是大量事件的集合,具有IP和时间戳,需要与“session映射”相关联以丰富用户名。是否有一种有效的方法可以根据Spark中的session映射或其他方式丰富事件数据?sessionmap:(IP,start_time,end_time)->Name(192.168.0.l,2016-01-0110:00:00,2016-01-0122:00:00)->John(192.168.0.l,2016-01-

在没有 key 的情况下加入两个相等的数据集

我想使用Hadoop连接两个具有相同记录数但不带行号的文件。例如A.txtaxxbycz和B.txt1r2s3d加入后我需要拥有axx1rby2s3dcz这是IOW完美的并排连接。我不知道如何在Hadoop中执行此操作,我相信我需要对两个文件进行初始传递以附加行号?利用Pig和/或map/reduce技巧的各种组合的答案都很好。 最佳答案 这篇文章给了你一个提示:SOPOSTaboutspecialinputformat输入格式可以生成行号作为键,而不是给出字节偏移量。这样你就可以简单地使用一个单元映射器(只发出键值)并在reduc

hadoop - 解析日期格式加入hive

我有一个字符串类型的日期字段,格式为:03/11/2001我想将它与另一个字符串格式的列连接起来:1855-05-2512:00:00.0如何在hive中有效地加入两列,忽略第二列的时间部分?我的查询如下所示:LEFTJOINtabel1t1ONtable2.Date=t1.Date 最佳答案 由于您拥有不同格式的日期值,因此您需要对两者使用日期函数,并在连接查询中将其转换为类似格式的日期类型。它会是这样的:LEFTJOINtabel1t1ONunix_timestamp(table2.Date,'yyyy-MM-ddHH:mm:s

Windows server :active directory域(ad域)服务,安装&搭建&加入

环境:虚拟机下可以相互通信Windowsserver2016Windows101.安装首先打开server上的控制面板添加角色和功能下一步下一步下一步activedirectory域服务选择上添加功能下一步下一步下一步安装等待安装完成……2.搭建点击小旗子找到部署后配置点击“将此服务器提升为域控制器”选择添加林域然后填写根域名下一步填写密码下一步下一步下一步安装等待完成重启耐心等待3.加入首先把dns指向服务器1.1是Windows10ip1.2是server2016ip右键此电脑点击属性重命名这台电脑最下边的“更改”选择域填写域名bao.com确定然后输入域管理员账户重启即可

date - 有两个不同的字符串代表两个不同的配置单元表中的日期,我想用它们来加入

所以我在Hadoop集群中的Hive中有两个外部表。一个表有一个(日期字符串)列,格式为'2019-05-2411:16:31.0'另一个有(dateSTRING)列,格式为'23/May/2019:22:15:04',它们都是字符串。我需要将它们转换为相同类型的日期格式并使用它们来连接这两个表。您将如何解决这个问题并在Hive中解决所有问题?可能吗?我是Hadoop的菜鸟,对Hive的可能性还不是很了解。Ps:我的hive版本不支持!hive--version命令来检查我正在使用的版本,所以我不太确定如何理解我正在使用的版本。不是我的集群,我也不是根用户。