无法通过Spark读取VCF文件 [英] Can't read a VCF file through spark

查看:0
本文介绍了无法通过Spark读取VCF文件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在尝试使用Spark读取VCF文件。

Spark 3.0

spark.read.format("com.databricks.vcf").load("vcfFilePath")

错误:

java.lang.ClassNotFoundException: Failed to find data source: com.databricks.vcf. Please find packages at http://spark.apache.org/third-party-projects.html
  at org.apache.spark.sql.execution.datasources.DataSource$.lookupDataSource(DataSource.scala:674)
  at org.apache.spark.sql.execution.datasources.DataSource$.lookupDataSourceV2(DataSource.scala:728)
  at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:230)
  at org.apache.spark.sql.DataFrameReader.load(DataFrameReader.scala:214)
  ... 49 elided
Caused by: java.lang.ClassNotFoundException: com.databricks.vcf.DefaultSource
  at scala.reflect.internal.util.AbstractFileClassLoader.findClass(AbstractFileClassLoader.scala:72)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:424)
  at java.lang.ClassLoader.loadClass(ClassLoader.java:357)
  at org.apache.spark.sql.execution.datasources.DataSource$.$anonfun$lookupDataSource$5(DataSource.scala:648)
  at scala.util.Try$.apply(Try.scala:213)
  at org.apache.spark.sql.execution.datasources.DataSource$.$anonfun$lookupDataSource$4(DataSource.scala:648)
  at scala.util.Failure.orElse(Try.scala:224)
  at org.apache.spark.sql.execution.datasources.DataSource$.lookupDataSource(DataSource.scala:648)
  ... 52 more

我在本地的ubuntu上试过Spark,也试过Databricks环境下的Spark。你们能帮我一下吗?

推荐答案

在数据库上(正如Alex提到的),您必须使用数据库基因组运行时(见下图)。

如果要在本地计算机上使用带有Spark的VCF文件,则必须手动添加Glow包。此包包含VCF读卡器。官方文档here详细介绍了您必须执行的步骤。

对于本地的PySpark,说明如下所示:

# Install pyspark
pip install pyspark==3.0.1
# Install Glow
pip install glow.py
# Start PySpark with the Glow Maven package
psypark --packages io.projectglow:glow-spark3_2.12:0.6.0

在Python外壳中:

import glow
glow.register(spark)
df = spark.read.format('vcf').load(path)

要从您提到的PDF文档加载示例,必须确保用制表符替换空格,否则将出现格式错误的标题异常。VCF格式要求每条记录和标题用制表符分隔。

这篇关于无法通过Spark读取VCF文件的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆