初体验
- 目前遇到的错误做多的是隐式类型转换,虽然公司的平台说系解决了隐式类型转换的问题。
- 其次就是node xx crash,或者内存超过了xx。
- 使用presto最麻烦了是日常工作中的数据分析需要许多窗口函数,有些在presto中并没有
从hive迁移
需要注意除法和表连接与hive的不同,尤其是连接。其他的注意事项见
迁移注意事项
随笔
解决了什么问题
快读的交互式查询
多列去重
之前遇到需求对dt,陪访人,陪访对象三列进行去重统计。多列去重统计可以用子查询或者拼接字符串来实现,很明显这里不适合子查询。于是使用拼接。
presto 拼接字符串 concat只能是两个参数,可以使用||来拼接字符串非常方便。
presto 和hive到底什么关系
http://www.mutouxiaogui.cn/blog/?p=395
和hive在一个层级,都是基于hdfs的。但是presto可以借助hive的元信息找到hdfs上的节点。
presto现在已经可以连接 MySQL postgre hive等了
presto为什么那么快
http://tech.meituan.com/presto.html
计算时数据不落地
presto注意事项
http://chuansong.me/n/2311397
http://prestodb-china.com/docs/current/migration/from-hive.html
hive并不h是严格遵循sql92标准,hiveql和presto有很多区别,尤其是表连接上的区别,导致两者之间的sql不通用
presto 不足
- presto的分析函数不足,这里再次感叹hive函数的丰富,甚至包含了xpath这种对半结构化语言脚本进行解析的函数。
- 还有一个hive中的表格生成函数
.数组拆分成多行:explode
Map拆分成多行:explode
还有其对于一个单元格用都好隔开分成多行这种情况官网上说用cross join
但是其类型是array 但是现实就是我们的数据经常是 xx,yy,zz类型。
这一点一直不知道怎么解决