我正在基于配置单元运行一个简单查询,得到错误:
java.io.ioexception:无法运行程序“/home/hadoop/bin/hadoop”(在目录“/home/ec2 user”中):错误=13,权限被拒绝
当我做一个简单的选择,
select * from million_songs_sample;
它工作得很好。但是当我合并时,连接就是当我得到错误的时候。
以下是导致错误的代码:
SELECT a.song as driver_song_id, b.song as also_song_id,
count(a.play_count) as play_count
from (
select user, song, play_count
from million_songs_sample) a
join (
select user, song
from million_songs_sample) b
on a.user = b.user
where a.song != b.song
group by a.song, b.song;
group by a.song, b.user;
以下是我表格中的数据:
u1,s10,3
u1,s11,1
u1,s15,5
u1,s17,1
u1,s19,3
u2,s10,1
u2,s12,6
u2,s19,5
u3,s11,1
u3,s12,1
u3,s13,1
u3,s14,1
u3,s17,3
u4,s10,2
u4,s12,5
u4,s19,3
2条答案
按热度按时间svgewumm1#
答案是,在从s3存储创建表时,不能将表本身连接起来。为了解决这个问题,首先创建一个临时表作为第二个连接的副本,它工作得很好。
t5fffqht2#
这听起来像是临时表上的某种权限问题——您需要和本地人谈谈才能解决这个问题。
但是,重写不包含子查询的查询可能会解决问题: