同一句 SQL,执行的结果不一样:
/opt/9iCloud/third/odpscmd/bin/odpscmd -e "select * from dpx _client_push_server where xx > dateadd(getdate(), -2, 'dd');" > b.txt
/opt/9iCloud/third/odpscmd/bin/odpscmd -e "select * from dpx_server where xx> dateadd(getdate(), -2, 'dd');" > a.txt
odps是分布式集群,文件系统也是分布式存储的。一个表的数据如果大一些,就会分布式的存在不同的节点上。当您在select的时候如果不指定排序,显示出来的数据可能是这条sql执行所在的服务节点上的数据,并不是所有这个表的整个数据。而且重定向到本地文件中可能有差异,因为是把数据从查询结果又拉到文件中,这个是您客户端所在服务器做的。建议您可以使用tunnel命令直接把表数据下载到本地文件,比较方便简单。您可以参考:
https://help.aliyun.com/document_detail/27833.html?spm=5176.doc27804.6.575.1gKfhs
如果您想把select的数据下载,您可以先创建一张表再使用tunnel下载。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。