当前位置: 首页 > 面试题库 >

配置单元将数据配置为结构数组

丌官子安
2023-03-14
问题内容

我试图找出一种在Hive中从平面源中选择数据并将其输出到一个名为struct的数组中的方法。这是我正在寻找的示例…

样本数据:

house_id,first_name,last_name
1,bob,jones
1,jenny,jones
2,sally,johnson
3,john,smith
3,barb,smith

所需的输出:

1   [{"first_name":"bob","last_name":"jones"},{"first_name":"jenny","last_name":"jones"}]
2   [{"first_name":"sally","last_name":"johnson"}]
3   [{"first_name":"john","last_name":"smith"},{"first_name":"barb","last_name":"smith"}]

我尝试了collect_list和collect_set,但是它们仅允许原始数据类型。关于如何在Hive中进行此操作有任何想法吗?


问题答案:

我会使用这个jar,它是的更好的实现collect(并需要复杂的数据类型)。

查询

add jar /path/to/jar/brickhouse-0.7.1.jar;
create temporary function collect as 'brickhouse.udf.collect.CollectUDAF';

select house_id
  , collect(named_struct("first_name", first_name, "last_name", last_name))
from db.table
group by house_id

输出

1   [{"first_name":"bob","last_name":"jones"}, {"first_name":"jenny","last_name":"jones"}]
2   [{"first_name":"sally","last_name":"johnson"}]
3   [{"first_name":"john","last_name":"smith"},{"first_name":"barb","last_name":"smith"}]


 类似资料:
  • 7.2.1 配置元数据 如上图所示,Spring的IoC容器使用某种形式的配置元数据,该配置元数据描绘了作为一个程序开发者在程序中如何告诉Spring容器去实例化、配置和组装对象。 传统上,配置元数据以简单而直观的XML格式展现,这也是本章传达Spring IoC容器的关键概念和特性使用最多的形式。 基于XML的元数据不是配置元数据唯一允许的形式。Spring IoC容器本身与实际编写配置元数据的

  • 我正在寻找一个内置的UDF来转换字符串列的值为整数在我的配置单元表排序使用选择和排序。我在语言手册上查了一下,但没有用。任何其他建议也欢迎。

  • 我想将数据从postgres导入到配置单元,然后输入以下命令: 但我看到这条失败的消息: 问题是什么?我如何修复这个故障???

  • 我试图使用将数据从复制到。但是,尽管我在文件中设置了变量,但仍然出现了以下错误。下面是我的代码: bashrc文件中的变量: 错误: 我还需要在这里添加/修改什么??

  • 您可以让OpenStack将元数据写入到一个特殊的“配置盘”中,实例启动时可以挂载这个盘来读取配置信息。一般情况下,这些信息是由元数据服务提供的。注意,这里的元数据和用户数据不同。 这个功能的一个用例是在没有DHCP的情况下给实例分配IP地址。例如,您可以通过配置盘将IP地址配置传给实例,实例挂载上这个盘以后,读取其中的IP信息,before you configure the network s

  • 我对AWS EMR很陌生。我已经启动并运行了Hive,并且在S3中查询外部表,没有任何问题。我现在已经将Presto安装到EMR集群上,它似乎已经启动并运行,可以读取配置单元元数据库。但是,我运行的每个查询都返回列标题,但实际上不返回任何列(下面的查询)。 配置单元中的相同查询运行良好: 非常感谢任何帮助。 谢谢