使用pyspark获取列的数据类型

Sreenuvasulu:

我们正在从MongoDB读取数据CollectionCollection列具有两个不同的值(例如:)(bson.Int64,int) (int,float)

我正在尝试使用pyspark获取数据类型。

我的问题是某些列具有不同的数据类型。

假设quantityweight是列

quantity           weight
---------          --------
12300              656
123566000000       789.6767
1238               56.22
345                23
345566677777789    21

实际上,我们没有为mongo集合的任何列定义数据类型。

当我查询从 pyspark dataframe

dataframe.count()

我有这样的异常

"Cannot cast STRING into a DoubleType (value: BsonString{value='200.0'})"
ench:
import pandas as pd
pd.set_option('max_colwidth', -1) # to prevent truncating of columns in jupyter

def count_column_types(spark_df):
    """Count number of columns per type"""
    return pd.DataFrame(spark_df.dtypes).groupby(1, as_index=False)[0].agg({'count':'count', 'names': lambda x: " | ".join(set(x))}).rename(columns={1:"type"})

在jupyter笔记本中为4列的spark数据帧输出的示例:

count_column_types(my_spark_df)

在此处输入图片说明

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何使用单个命令[Python-Pandas]获取所有列的数据类型?

根据数据类型获取熊猫数据框列的列表

如何获取boost json以使用正确的数据类型

验证pyspark数据框中的列的数据类型

有没有办法在pyspark中获取列数据类型?

从视图中获取正确的列数据类型

读入CSV,从字典中获取列数据类型

Pyspark从数据类型为Boolean的数据框中获取列的名称

从表和某些条件获取列数据类型

由于数据类型不匹配PySpark无法解析列

使用基于数据类型的获取内容

使用熊猫更改列数据类型

如何使用模板获取向量中的数据类型?

如何使用列获取数据类型并创建字典

列数据类型-MySQL

使用aeson解析JSON以获取复合数据类型

获取数据表中列的数据类型

使用DynamoDB SDK获取AWS DynamoDB Number数据类型

如何使用PDO PHP获取在SQL查询中形成的查询列及其数据类型信息

在 Pyspark 中更改数据类型

PySpark:连接具有“Struc”数据类型的两列--> 错误:由于数据类型不匹配而无法解析

在 SQL Developer 中使用 DESCRIBE 获取列的数据类型列表时如何按列名排序?

PySpark 如何遍历 Dataframe 列并更改数据类型?

使用 firebase 获取文档字段数据类型

获取文本数据类型慢查询的列

如何在使用列时修改列数据类型

在pyspark中指定列数据类型

更改 Pyspark 中 Arraytype 列的任何字段的数据类型

pyspark 数据框:填充具有不同数据类型的选定列的值