首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >编写涉及复杂类型的Spark-SQL查询

编写涉及复杂类型的Spark-SQL查询
EN

Stack Overflow用户
提问于 2020-05-31 17:29:24
回答 1查看 100关注 0票数 0

我对Spark很陌生,并试图接受它。我们使用Spark-SQL主要用于ETL的数据转换/操作。最近,我偶然发现了一些用于操作星火复杂类型的SparkSQL函数(arraymapstruct等)。我遇到了某些函数,如array()array_zip()struct()map_concat()map_from_arrays()等。我在网上搜索,但不幸的是,我无法获得足够的示例/解释,让我对它们有一个清晰的理解。

请任何人提供一些它的应用程序的例子,这样我就能更好地理解它们在我们的项目任务中的应用。

注意:我只能访问Spark-SQL,但不能访问 PySpark-SQL

谢谢

EN

回答 1

Stack Overflow用户

发布于 2020-05-31 17:54:55

请通过下面的解释,

阵列

数组(expr,.)-返回具有给定元素的数组。

示例:

选择阵列(1,2,3);

1,2,3

arrays_zip

arrays_zip(a1,a2,.)-返回一个合并的结构数组,其中N-结构包含输入数组的所有N-值.

示例:

选择arrays_zip(数组(1,2,3),数组(2,3,4));

{"0":1,"1":2},{"0":2,"1":3},{"0":3,"1":4}

选择arrays_zip(数组(1,2),数组(2,3),数组(3,4));

{"0":1,"1":2,"2":3},{"0":2,"1":3,"2":4}

结构

struct(col1,col2,col3,.)-创建一个具有给定字段值的结构。

映射

map(key0,value0,key1,value1,.)--用给定的键/值对创建映射。

示例:

选择map(1.0,'2',3.0,'4');

{1.0:"2",3.0:"4"}

map_concat

map_concat(map,.)-返回所有给定映射的合并

示例:

选择map_concat(map(1,'a',2,'b'),map(2,'c',3,‘d’);

{1:"a",2:"c",3:"d"}

map_from_arrays

Map_from_arrays(键、值)-使用给定的键/值数组创建一个映射。键中的所有元素都不应为空。

示例:

选择map_from_arrays(数组(1.0,3.0),数组(‘2’,'4'));

{1.0:"2",3.0:"4"}

更多内置的火花功能,请通过下面的链接,

https://spark.apache.org/docs/latest/api/sql/

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62120009

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档