阿里云E-MapReduce从EMR-2.1.0版本镜像开始,Presto组件默认就支持访问oss数据了,不再需要引导操作额外支持。
如何使用
创建集群,版本选择EMR-2.1.0,软件勾选Presto,等待创建成功。
验证
hive创建oss数据表
下文举了创建数据在oss上的uservisits表的例子,请将表名,字段,oss信息替换为您oss数据对应的信息hive
进入hive cli
vpc网络可以使用MetaService不需要指定ak等信息:
CREATE EXTERNAL TABLE uservisits (sourceIP STRING,destURL STRING,visitDate STRING,adRevenue DOUBLE,userAgent STRING,countryCode STRING,languageCode STRING,searchWord STRING,duration INT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS SEQUENCEFILE
LOCATION 'oss://<bucketname>/<datapath>'
经典网络目前还需要指定AK,oss host信息:
CREATE EXTERNAL TABLE uservisits (sourceIP STRING,destURL STRING,visitDate STRING,adRevenue DOUBLE,userAgent STRING,countryCode STRING,languageCode STRING,searchWord STRING,duration INT ) ROW FORMAT DELIMITED FIELDS TERMINATED BY ',' STORED AS SEQUENCEFILE
LOCATION 'oss://<accessid>:<accesskey>@<bucketname>.oss-cn-hangzhou-internal.aliyuncs.com/<datapath>';
presto查询
退出hive cli,进入presto clipresto --server localhost:9090 --catalog hive --schema default
执行show tables
能看见刚刚创建的表,执行select counT() from uservisits
能查到oss数据的条目。如果未显示,可能是还未同步,稍等一会