Drill does not cache data in memory because it introduces the risk of dealing with stale data when working with data at a large scale.
If you want to avoid hitting the actual storage repeatedly, one option is to use the 'create temp table ' feature (https://drill.apache.org/docs/create-temporary-table-as-cttas/). This allows you to land the data to a local (or distributed) F, and use that data storage instead. These tables are alive only for the lifetime of the session (connection your client/SQLLine) makes to the Drill cluster. There is a second benefit of using this approach. You can translate the original data source into a format that is highly suitable to what you are doing with the data. For e.g., you could pull in data from an RDBMS or a JSON store and write the temp table in parquet for performing analytics on. ~ Kunal ________________________________ From: Michael Shtelma <mshte...@gmail.com> Sent: Wednesday, May 10, 2017 9:16:30 AM To: user@drill.apache.org Subject: In-memory cache in Drill Hi all, Are there any way to cache the data that was loaded from the actual storage plugin in Drill? As far as I understand, when the query is executed, the data is first loaded from the storage plugin and handled by the format plugin. After that, the data is stored using internal vectorized representation and the query is executed. Is it correct? I am wondering, if there is a way to store somewhere these data vectors, so that they do not have to be loaded from the actual storage for each query? Spark does something like that, by storing data frames in off heap storage. Regards, Michael