我正在尝试使用一个在pyspark中有25亿条记录的配置单元表。我假设表中有一些格式不正确或“不好”的数据。我将spark版本1.6.2与python版本2.6.6配合使用:
from pyspark import SparkContext, SparkConf
from pyspark.sql import HiveContext
with SparkContext() as sc:
tbl = “mydb.mytable”
hc = HiveContext(sc)
df = hc.table(tbl)
看table。如果我想跑
df.take(5)
我遇到一个valueerror异常,并且
df.count()
无限期挂起。但是,如果我在表格中示例:
dfsamp = df.sample(False, 0.0000001, 42)
我得到一个大约有220行的Dataframe,看起来没有任何问题。从hivecli访问完整表似乎可以正常工作。我假设有一些spark由于某种原因无法处理的记录。我想知道在将配置单元表作为pysparkDataframe加载之后,是否有某种方法来过滤它,以便只保留“好”行。或者,是否有某种方法可以在将配置单元表加载到pyspark之前对其进行预处理,以确保它只包含“良好”数据?感谢任何帮助/见解。
1条答案
按热度按时间b09cbbtk1#
结果在日期列中有一些日期超出了范围。
如果我用
那就没有问题了。