我在分布式模式下仅在数据极顶部运行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生成拼花文件。
有没有我遗漏的配置或其他点?
看起来像个虫子
请创建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转换为数据帧,然后将数据帧写入拼花文件。这是正确的方法吗。 感谢您