我试图找出是否有一种方法可以使用java获取apachespark数据集中包含的列的数据类型?我有一个数据集,其中包含一个名为 SSN
我写了这段代码来修剪那列中的数据:
Dataset<Row> trimmedOutput = trimInput.select(trim(trimInput.col("SSN")).as("SSN")
我正在尝试获取 SSN
列以根据预期类型验证它。
有人能帮我吗?
我试图找出是否有一种方法可以使用java获取apachespark数据集中包含的列的数据类型?我有一个数据集,其中包含一个名为 SSN
我写了这段代码来修剪那列中的数据:
Dataset<Row> trimmedOutput = trimInput.select(trim(trimInput.col("SSN")).as("SSN")
我正在尝试获取 SSN
列以根据预期类型验证它。
有人能帮我吗?
1条答案
按热度按时间nwwlzxa71#
我来这里寻找相同的答案:)现在看看api,这是一种我可以理解的方法:
要了解trimmedoutput数据集中ssn列的数据类型,请按如下方式使用它:
还有一个类似的方法simplestring(),您可以调用它来代替typename(),api文档提到了这两者之间的区别。
如果您的目的是检查数据集中的列是否属于某个数据类型,如果不是,则检查失败,下面的代码将有所帮助:
上面的调用将检查'ssn'列if是否为string类型,如果不是,它将失败,并显示您作为最后一个参数传递的消息-“datatype mismatch for column ssn”。此方法仅在ml库中的schemutils类上可用。