如何解决有没有一种方法可以根据另一个文件中的唯一ID列表从S3镶木文件中读取记录的子集?
我有一个很大的实木复合地板文件(超过30m条记录),其中包含唯一的ID(条形码)字段。我有一个ID子集的单独列表,我有兴趣对其进行分析(当前在SAS中,但可以移至数据框)。
在使用此外部列表读取拼花地板文件时,是否有一种方法可以将其拼成一个子集,以避免读取整个文件?我的最终需求是将数据子集移至SAS,以便在我们过渡期间并且遇到规模问题时,它可以通过某些现有流程运行。
到目前为止,我的查询如下:
#Load the Parquet dataset from S3
tblpq = spark.read.parquet("s3:[filename]")
tblpq .createOrReplaceTempView('Data0')
FinData=spark.sql("""SELECT id,index,CAST(`super long field name` as float) as field1,CAST(`super long field name`as float) as field2 FROM Data0 LIMIT 100""")
#Convert data to Pandas
test1 = FinData.toPandas()
#Convert data to Pandas and drop rows where field1 is missing to reduce size
test2 = FinData.na.drop(subset=["field1"]).toPandas()
然后将其保存在SAS中。不幸的是(如您所见),我目前仅抽取100个随机行进行测试。我需要做的是包括一个
“在([[另一个文件的ID列表]]中的WHERE ID中”)类型的语句-或执行内部联接。我知道如何在SAS中实现此目标,但在Python中却毫无用处。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。