使用SQL/HiveQL拆分列中的数据

使用SQL/HiveQL拆分列中的数据,sql,hadoop,split,hive,hiveql,Sql,Hadoop,Split,Hive,Hiveql,我有一个大学项目,我需要对我选择的一个大数据集做一些简单的分析,我们将在Hadoop系统中运行它。我选择使用Hive是因为我基本上没有数据库方面的经验,但我喜欢Hive 无论如何,我有一个国际象棋数据集,我能够提取一些感兴趣的列,比如开局动作的名称,并找出它们发生的频率。诸如此类的事情 我想看看每场比赛的前几步,这就引出了我的问题。所有移动的符号存储在名为移动的列中,如下所示: 此列位于名为chess\u game的.csv文件中 我该如何提取,比如说,前4个移动到一个名为opening\u

我有一个大学项目,我需要对我选择的一个大数据集做一些简单的分析,我们将在Hadoop系统中运行它。我选择使用Hive是因为我基本上没有数据库方面的经验,但我喜欢Hive

无论如何,我有一个国际象棋数据集,我能够提取一些感兴趣的列,比如开局动作的名称,并找出它们发生的频率。诸如此类的事情

我想看看每场比赛的前几步,这就引出了我的问题。所有移动的符号存储在名为
移动
的列中,如下所示:

此列位于名为
chess\u game
的.csv文件中

我该如何提取,比如说,前4个移动到一个名为
opening\u moves
的新表中


提前感谢您的建议。

您可以使用拆分功能拆分移动字符串。像这样:

select rating, 
       moves[0] as first, 
       moves[1] as second,
       moves[2] as third,
       moves[3] as fourth               
(
select rating,  split(moves, ' ') as moves from your_table 
) s
;

移动是否以空格分隔?你能把它贴成文字而不是图片吗?前4个动作是d4、d5、c4、c6或者什么?@leftjoin我现在正在工作,似乎不允许访问Dropbox之类的东西。稍后我将尝试添加。