hadoop - 像Hive一样使用Presto插入覆盖目录

标签 hadoop hive presto

在Hive中,以下语句将输出foo^Bbar^Abaz

insert overwrite directory 's3://bucket-name/foobarbaz'
row format delimited
fields terminated by '\001'
select split('foo,bar', ','), 'baz';

在Presto中,我运行了以下语句:

insert overwrite directory 's3://bucket-name/foobarbaz'
select split('foo,bar', ','), 'baz';

结果如下:["foo","bar"]^Abaz
适用于数组和结构的插入覆盖目录的等效Presto子句是什么?

似乎Presto将我的数组类型转换为json字符串,但是我希望将其格式化为具有收集项和映射键定界符支持的Hadoop规范。

最佳答案

尝试在create table DDL中指定COLLECTION ITTES TERMINATED BY。

row_format DELIMITED [FIELDS TERMINATED BY char [ESCAPED BY char]] [COLLECTION ITEMS TERMINATED BY char] ...

关于hadoop - 像Hive一样使用Presto插入覆盖目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57876710/

相关文章:

hadoop - 在phoenix for hbase 中,插入90000 行数据时插入OOM

scala - 使用Hive或Spark Scala进行数据排列

scala - 由 : java. lang.IllegalArgumentException 引起:无法为 null 获取 JDBC 类型

hadoop - WSO2外部Hadoop

mysql - SQL如何过滤掉具有冲突的where子句的特定行

hive - 雅典娜查询错误 : Athena query failed: "NOT_SUPPORTED: Unsupported Hive type

hadoop - 我想用 PIG 中的 AVG 替换 NULL 值

hadoop - 在 Hadoop 中使用外部 Web 服务数据

hadoop - 如何在Hive表中实现触发器概念

amazon-s3 - 使用 hive 或 prestodb 加载或指向多个 parquet 路径以进行数据分析