apache钻取内存异常

时间:2015-09-15 05:27:07

标签: parquet apache-drill

我正尝试在单节点设置中使用apache drill将超过600g的csv文件重新格式化为镶木地板。

我运行我的sql语句:

CREATE TABLE AS Data_Transform.'/' AS
....
FROM Data_source.'/data_dump/*'

它正在创建镶木地板文件,但我收到错误:

Query Failed: An Error Occurred
org.apache.drill.common.exceptions.UserRemoteException: RESOURCE ERROR:     
One or more nodes ran out of memory while executing the query.

有没有办法解决这个问题? 或者有其他方法可以进行转换吗?

1 个答案:

答案 0 :(得分:0)

我不知道是否可以查询本地节点上的所有GB。如果你已经配置了内存per the docs,那么使用Drillbits集群来共享负载是显而易见的解决方案,但我想你已经知道了。

如果您愿意尝试,并且您使用select *来转换csv文件来查询csv,而不是选择单个列,请将查询更改为选择列[0]作为user_id ,列1为user_name。如果可能,将任何列转换为int,float,datetime等类型。这样可以避免在varchars中存储数据的读取开销,并为将来需要为任何分析进行转换的查询准备数据。

我还看到了Drill开发人员的以下建议:手动将文件拆分为较小的文件以克服本地文件系统功能限制。 Drill不会在块拆分时拆分文件。