当前位置: 首页 > 知识库问答 >
问题:

钻孔器无法读取Spark生成的拼花地板中的大多数列

宋健柏
2023-03-14

我在分布式模式下仅在数据极顶部运行Drill 1.15(3个节点,每个节点有32GB内存)。我正在尝试读取HDF中Spark作业生成的拼花文件。

生成的文件正在spark中读取,很好,但在Drill中读取时,除了少数列之外,它似乎对其他列不起作用。

组织。阿帕奇。训练常见的例外。UserRemoteException:数据读取错误:从磁盘读取时发生异常。文件:[文件名]。拼花地板列:行组开始:111831文件:[文件名]。拼花地板列:行组开始:111831片段0:0[Error Id:[Error_Id]on[host]:31010]

在dfs的钻孔配置中,我有拼花地板格式的默认配置。

我正在尝试运行一个简单的查询:

select * from dfs.`/hdfs/path/to/parquet/file.parquet`

文件大小,如果也在10秒的MB不是很多。

我正在使用Spark 2.3版本使用1.15版本的Drill生成拼花文件。

有没有我遗漏的配置或其他点?

共有1个答案

夏骏
2023-03-14

看起来像个虫子
请创建Jira票证并提供文件。拼花地板和原木文件<谢谢

 类似资料:
  • 我正在使用Spark 1.6.0。以及用于读取分区拼花数据的DataFrame API。 我想知道将使用多少个分区。 以下是我的一些数据: 2182个文件 Spark似乎使用了2182个分区,因为当我执行计数时,作业被拆分为2182个任务。 这似乎得到了的证实 对吗?在所有情况下? 如果是,数据量是否过高(即我是否应该使用df重新分区来减少数据量)?

  • 我试图利用火花分区。我试图做这样的事情 这里的问题每个分区都会创建大量的镶木地板文件,如果我尝试从根目录读取,则会导致读取缓慢。 为了避免这种情况,我试过 但是,这将创建每个分区中镶木地板文件的数目。现在我的分区大小不同了。因此,理想情况下,我希望每个分区都有单独的合并。然而,这看起来并不容易。我需要访问所有分区合并到一定数量并存储在单独的位置。 我应该如何使用分区来避免写入后出现许多文件?

  • 我遇到了一个问题,无法在Hive中读取由Spark生成的分区拼花文件。我可以在hive中创建外部表,但是当我尝试选择几行时,hive只返回一个“OK”消息,没有行。 我能够在Spark中正确读取分区的拼花文件,所以我假设它们是正确生成的。当我在hive中创建外部表而不进行分区时,我也能够读取这些文件。 null 我的Spark配置文件有以下参数(/etc/Spark/conf.dist/spark

  • 我是Spark的初学者,试图理解Spark数据帧的机制。当从csv和parquet加载数据时,我比较了spark sql dataframe上sql查询的性能。我的理解是,一旦数据加载到spark数据框中,数据的来源(csv或parquet)应该无关紧要。然而,我看到了两者之间的显著性能差异。我使用以下命令加载数据,并对其编写查询。 请解释差异的原因。

  • 我很难找到这个问题的答案。假设我为拼花地板编写了一个数据框,并且我使用与相结合来获得一个分区良好的拼花地板文件。请参阅下面: 现在,稍后我想读取拼花文件,所以我这样做: 数据帧是否由分区?换句话说,如果拼花地板文件被分区,火花在将其读入火花数据帧时是否会维护该分区。还是随机分区? 同样,这个答案的“为什么”和“为什么不”也会有所帮助。

  • 我是大数据生态系统的新手,有点起步。 我读过几篇关于使用spark流媒体阅读Kafka主题的文章,但我想知道是否可以使用spark作业而不是流媒体阅读Kafka主题?如果是的话,你们能帮我指出一些可以让我开始学习的文章或代码片段吗。 问题的第二部分是以拼花格式向hdfs写信。一旦我读了Kafka的书,我想我会有一个rdd。将此rdd转换为数据帧,然后将数据帧写入拼花文件。这是正确的方法吗。 感谢您