我正在尝试将我们的“老派”数据库(主要是时间序列)迁移到Azure Data Lake。
所以我拿了一张随机表(10年的数据,200m条记录,20Gb),将数据复制到一个csv文件中,还复制到相同的数据中,并创建了4000个每日文件(在每月文件夹中)。
在这两组文件的顶部,我创建了2个外部表....并且它们的性能几乎相同。 (?!?)
无论我要查询什么,是在一天中寻找数据(因此是在一个小文件中)还是对整个数据集求和……基本上都需要3分钟,无论我是否正在查看单个文件或每日文件(4000)。好像必须在执行任何操作之前将整个数据集加载到内存中!!?
因此,我可以在某个地方进行更改,以免在不需要时加载所有数据?这样可以使我的查询速度提高1000倍。
据我了解,外部表上无法建立索引。创建物化视图将破坏使用Lake的目的。 t
全面披露;我是Azure数据存储的新手,我试图查看它是否是解决我们问题的正确技术。