如何优化代码以选择要在hadoop中提取的行,并从列中提取文本?

tv6aics1  于 2021-05-31  发布在  Hadoop
关注(0)|答案(0)|浏览(245)

我和hadoop在hue上合作,最多只能下载10万行。我想选择的行,我将下载,以便下载整个基地。例如:1号线到100000,100001到200000。。。
问题1:我正在使用一个代码,但是它花费了太长的时间带来结果,并且他们服务器上的连接时间最终下降,我想知道如何优化这个代码。我是sql新手。
问题2:在其中一列的底部是一个文本字段,只有文本被行分割。示例:第1行-id1-字1,第2行-id 1-字2,第3行-id 1-字3。为了减少行数,我尝试用id连接单词:行1-id1-word1+word2+word3。但是,我使用的代码不起作用,因为它说我没有访问基的权限,删除连接文本的函数后,我就可以访问基了。
对于问题1,我使用以下代码:

select *
from (select *, row_number() over (partition by ID order by ID) as row_num from tab) user_table
where row_num between 1 and 100000

对于问题2,我用这个:

select *, concat_ws ('', collect_list (WORD)) as words
from tab
where ORG = 'card'
group by ID

我想把两者结合起来,但两者都没有发挥应有的作用:

select *, concat_ws ('', collect_list (WORD)) as words
from (select *, row_number() over (partition by ID order by ID) as row_num from tab) user_table
where row_num between 1 and 100000 and ORG = 'card'
group by ID

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题