我的一个数据帧(spark.sql)有这个模式。
root
|-- ValueA: string (nullable = true)
|-- ValueB: struct (nullable = true)
| |-- abc: array (nullable = true)
| | |-- element: struct (containsNull = true)
| | | |-- a0: string (nullable = true)
| | | |-- a1: string (nullable = true)
| | | |-- a2: string (nullable = true)
| | | |-- a3: string (nullable = true)
|-- ValueC: struct (nullable = true)
| |-- pqr: array (nullable = true)
| | |-- element: struct (containsNull = true)
| | | |-- info1: string (nullable = true)
| | | |-- info2: struct (nullable = true)
| | | | |-- x1: long (nullable = true)
| | | | |-- x2: long (nullable = true)
| | | | |-- x3: string (nullable = true)
| | | |-- info3: string (nullable = true)
| | | |-- info4: string (nullable = true)
|-- Value4: struct (nullable = true)
| |-- xyz: array (nullable = true)
| | |-- element: struct (containsNull = true)
| | | |-- b0: string (nullable = true)
| | | |-- b2: string (nullable = true)
| | | |-- b3: string (nullable = true)
|-- Value5: string (nullable = true)
我需要将其保存到CSV文件,但不使用任何扁平化,以以下格式分解。
|-- ValueA: string (nullable = true)
|-- ValueB: struct (nullable = true)
|-- ValueC: struct (nullable = true)
|-- ValueD: struct (nullable = true)
|-- ValueE: string (nullable = true)
我直接使用了命令 [df.to_pandas().to_csv(“输出.csv”)]
,这符合我的目的,但我需要一个更好的方法。我正在使用派斯帕克
在Spark中编写< code>csv格式不支持编写< code >结构/数组..etc复杂类型。
< code >编写为拼花文件:
Spark中更好的方法是以<code>parquet
df.write.parquet("<path>")
< code >编写为Json文件:
如果接受json格式的写作
df.write.json("path")
#or
df.toJSON().saveAsTextFile("path")
写入CSV文件:
使用<code>to_json转换为<code>字符串
df.selectExpr("valueA","to_json(ValueB)"..etc).write.csv("path")
问题内容: 我正在从在Varchar中具有原始提要的表中导入数据,我需要将varchar中的列导入到字符串列中。我尝试使用以及,但是却遇到了错误,因为有一些空字段,我需要将它们作为空或null检索到新表中。 请让我知道是否有相同的功能。 问题答案: 大胆猜测:如果您的值是一个空字符串,则可以使用NULLIF将其替换为NULL:
问题内容: 我想通过使用struct / interface的字符串名称值将特定变量转换为特定的已定义struct / interface。 例如: 和新变量 这可能是偶然的吗?也许使用反射? 干杯 问题答案: 这不可能。Go是一种静态类型的语言,这意味着必须在编译时知道变量和表达式的类型。 在类型断言中: […]如果类型断言成立,则表达式的值为存储在其中的值,其类型为。 因此,您可以使用类型断言
我刚接触Apache POI和HttpClient,我很困惑。我的程序应该从excel单元格中获取值,并在HttpGet请求中使用该值。以下是不起作用的方法: wb.getSheetAt(0)。getRow(rowNumber)。get cell(3);是XSSFCell类型,我需要把它转换成一个字符串。这可能吗,还是我没有正确地提取这个值?
本文向大家介绍VBA 使用CStr将数字类型转换为字符串,包括了VBA 使用CStr将数字类型转换为字符串的使用技巧和注意事项,需要的朋友参考一下 示例
输入自由度: (预期)输出DF: 我已经尝试使用< code>split函数,但它并不完全符合我的需求。
我有一个非常具体的要求。我有一个java应用程序,在这里我必须将字节数组转换为具有int、String等java类型的消息。消息的结构在c中定义如下- 我在java应用程序中收到的是字节数组。我不知道c应用程序是否使用proto缓冲区或任何其他方式来转换为字节数组。但是,如果我逐个字节地解析数组,我可以得到值。例如- 这一行将返回正确的id值(结构中的第一个属性是int)。 我的问题是——如果我为