select name,split_cat
FROM table1
CROSS JOIN UNNEST(SPLIT(cat,',')) AS t (split_cat)

结果如下:
table2:

namesplit_cat
Marya
Maryb
Cindya
Cindyf
Zaryc
Zaryg

多行转一行

select name,array_join(array_agg(split_cat),',') as cat from table2
group by name
                    Presto_sql:一行转多行和多行转一行一行转多行多行转一行一行转多行table1:namecatMarya,bCindya,fZaryc,gselect name,split_catFROM table1CROSS JOIN UNNEST(SPLIT(cat,',')) AS t (split_cat)结果如下:table2:namesplit_catMaryaMarybCindyaCindyf
mvn clean assembly:assembly
 将presto-udf-*-jar-with-dependencies.jar复制到所有presto节点中的${PRESTO_HOME}/plugin/custom-functions/中。 (如果不存在,则创建目录)
 重新启动presto集群
一个月的第一天
首日(当前日期)
一个月的最后一天
last_day(current_date)
 to_datetime
日期,varchar
 结合两个参数
to_datetime(current_date,'23:59:59')
 last_second
日期的最后一秒
last_second(current_date)
昨天的最后一
				
我们在做数据分析时,有时候需要使用join等作表连接,或者说 通过一些数据作关联。 但是 如果需要的数据 是存储的一列中使用逗号分割,或者存储在数组中,就不能很方便的进行表连接。 presto提供了很方便的语法,可以把列多行。 场景一 字符串 person表中 多个数据保存在pets使用逗号分割 select name, from person 568810800017635002 210100026066367206 568810800017635002 210100026070369019 568810800017635002 210100026038823395 568810800017635002 210100026038921817 568811800170738001 210100016048730468 568811800170738001
[{“course”:“flink”,“score”:“99”},{“course”:“spark”,“score”:“88”},{“course”:“hadoop”,“score”:“77”}] 数据格式化: "name": "andy", "list": [{ "course": "flink"
presto-redis 用于连接器。 这是一个使用 PrestoDb 在 redis 上运行 SQL 查询的实验。 它启动一个 PrestoDB 服务器并尝试连接到本地主机端口 6379 上的 redis 实例 数据模型将地图视为表,将地图中的对象视为行。 redis collections 包应该安装在本地maven repo [Redis Collection}( ) 使用 gradle (2+) 启动服务器。 这将在端口 8383 上启动服务器: gradle runServer 下载 presto并使用以下命令运行它: ./presto --server localhost:8383 --catalog redis -schema maps 运行一些 SQL 查询 SHOW TABLES; DESC employees; SELECT * FROM
其中,amount 是分的字段,amount_in_yuan 是换后的元的字段。 如果想要在程序中进行换,可以使用 Presto 的 API,连接到 Presto 并执行相应的 SQL 语句。 例如,在 Python 中,可以使用 PyHive 库来连接到 Presto 并执行 SQL 语句。 首先,需要安装 PyHive 库: pip install pyhive 然后,可以使用以下代码连接到 Presto 并执行语句: from pyhive import presto # 连接到 Presto conn = presto.connect( host='your-presto-host', port=8080, user='your-username' # 执行 SQL 语句 cursor = conn.cursor() cursor.execute('SELECT amount / 100.0 AS amount_in_yuan FROM transactions') # 获取结果 results = cursor.fetchall() for result in results: print(result) # 关闭连接 cursor.close() conn.close() 在其他语言中,可以使用类似的方法连接到 Presto 并执行 SQL 语句