我正在做一些数据清理和数据分析工作。所以给定的数据可能会非常混乱。你知道吗
我想使用pyspark获取列的所有潜在数据类型。 数据类型如下:
我需要做更多的处理来根据列的类型生成相应的元数据。你知道吗
一个列可以包含多个类型。我不是说内置的数据类型。给定的数据都是string
类型,但有些是"1234"
形式,实际上是int
,有些是"2019/11/19"
,实际上是date
。你知道吗
例如,列number
可以包含如下值
"123"
"123.456"
"123,456.789"
"NUMBER 123"
在上面的示例中,数据类型将是INTEGER, REAL NUMBER, STRING
。你知道吗
如果我使用df.schema[col].dataType
,它只会给我StringType。你知道吗
我在想我可以遍历整个列,并使用regex
来查看行属于哪种类型,但是我很好奇是否有更好的方法来完成它,因为它是一个相对较大的数据集。你知道吗
现在我通过遍历列来解决这个问题,并进行一些类型检查:
df = spark.sql('SELECT col as _col FROM table GROUP BY _col')
df.rdd.map(lambda s: typeChecker(s))
在typeChecker中,我只检查s._col
属于哪种类型。你知道吗
谢谢。你知道吗
目前没有回答
相关问题 更多 >
编程相关推荐