我对数据砖spark SQL是新手。我正在寻找嵌套的collect_list并试图找出答案。下面是我的spark实际sql查询
select
policy.CustomerId,
collect_list(struct(Number, Type, Id, Product.product))as policydetail
from
policy
Left Join
(
SELECT
policy.CustomerId,
Collect_list(struct(ProductId, productname)) as Product
FROM
policy
group by
CustomerId
)
product
on product.CustomerId = policy.CustomerId
group by
policy.CustomerId
我修改如下
select
policy.id,
collect_list(struct(Number, Type, Id, Collect_list(struct(ProductId, productname))))as policydetail
from
policy
group by
policy.CustomerPartyId
修改查询后,我得到如下错误
"Policy":[
{
"Number":"123456",
"Type":"new",
"Id":"34355656",
"Product":[
{
"ProductId":"2526",
"ProductName":"abc"
}
]
}
]
from pyspark import SparkConf
from pyspark import SparkContext
from pyspark.sql.session import SparkSession
from pyspark.sql import SQLContext
sc = sc = SparkContext.getOrCreate()
spark = SparkSession(sc)
sc_sql = SQLContext(sc)
#ExtractConfig
policy = spark.read.format('csv').options(header='true', inferSchema='true').load("D:/policy.csv")
#RawPath
policy.createOrReplaceTempView("policy")
policydetails = sc_sql.sql("select policy.CustomerId, collect_list(struct(Number, Type, Id, Collect_list(struct(ProductId, productname))))as policydetail from policy group by policy.CustomerId")
pandasDF = policydetails.toPandas()
pandasDF = policydetails.toPandas().to_csv('data1.csv')
我没有测试,因为我没有样本数据。
尝试下面的查询。
select
policy.CustomerId,
collect_list(
struct(
Number,
Type,
Id,
array(
struct(
ProductId,
productname)
)
)
) as policydetail
from policy
group by policy.CustomerId
或
select
collect_list(
struct(
Number,
Type,
Id,
array(
struct(
ProductId,
productname
)
)
)
) as policydetail
from policy
我正在处理数据帧,需要提取数据。我有许多嵌套的级别,所以我使用分解和选择来创建第一个级别,但随后我对嵌套级别使用UDF。 我有一个UDF,它取Root.Obj,这是一个数组,我希望它返回一个数组[MyObj] 我的输出类: 简而言之,这是输入模式: 我的自定义项: 这是更复杂的IRL,因为我需要从其他地方检索值,并且有更多的嵌套数组。此外,Obj和FieldC的输入结构比这里复杂得多,我不能(或不
问题内容: 我有嵌套的JSON对象,例如 而且我需要获取_events数组并对其进行解析。但是我不知道_events之前的单元格中的内容以及它们的状态。如何使用这种结构? 问题答案: 就像这样使用它: 这是一个有效的jsFiddle:http : //jsfiddle.net/ErHng/( 注意 :它会输出到控制台,因此您需要/ 在chrome中或在Firefox中打开firebug,然后重新运
本文向大家介绍nginx 如何实现if嵌套的方法示例,包括了nginx 如何实现if嵌套的方法示例的使用技巧和注意事项,需要的朋友参考一下 nginx 不支持 if 嵌套,也不允许在 if 中使用逻辑判断,会报如下错误: nginx: [emerg] "if" directive is not allowed 当业务需要多个条件判断时,可以借助中间变量来实现 如:我们的网站在 pc 端有多个子域名
我有一个列表,在一个列表中,在一个列表中,等等。大约有5层。 在手机上为每个列表创建5个活动很容易,但如果我也想支持平板电脑呢?所以我需要使用主细节流。 然而,我似乎找不到任何与嵌套主细节流相关的教程或信息。 无论如何,下面是我描述的一个例子: 在平板电脑布局中,我希望屏幕一次移动两层。通过从正确的层中选择列表项,用户可以升级到下一层。要返回上一层,用户可以点击后退按钮。 你知道我怎样才能做到吗?
问题内容: 我有以下的Java代码: 下一行工作正常时,为什么这里的工作不正常? 问题答案: 使用(无论嵌套类是否为静态)