Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/django/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Hive 如何按特定分区的配置单元中的数据分组?_Hive_Hiveql_Hadoop Partitioning - Fatal编程技术网

Hive 如何按特定分区的配置单元中的数据分组?

Hive 如何按特定分区的配置单元中的数据分组?,hive,hiveql,hadoop-partitioning,Hive,Hiveql,Hadoop Partitioning,我有以下资料: hive>show partitions TABLENAME pt=2012.07.28.08 pt=2012.07.28.09

我有以下资料:

hive>show partitions TABLENAME                                                           
pt=2012.07.28.08                                                                         
pt=2012.07.28.09                                                                         
pt=2012.07.28.10                                                                         
pt=2012.07.28.11                                                                         
hive> select pt,count(*) from TABLENAME group by pt;                                     
OK    

为什么
分组依据
无法获取数据?

检查
hive.mapred.mode
是否设置为
“严格”
,如果设置为“严格”,则不允许所有分区扫描提交的查询。您可以将其设置为非严格,如下所示:

hive>set hive.mapred.mode=nonstrict;
我不确定这是否导致您的查询没有结果,但正在尝试解决它。一定要分享结果


注意:您可以在
hive default.xml
中检查此参数的默认值,检查
hive.mapred.mode
是否设置为
“strict”
,如果设置为,则不允许所有分区扫描提交的查询。您可以将其设置为非严格,如下所示:

hive>set hive.mapred.mode=nonstrict;
我不确定这是否导致您的查询没有结果,但正在尝试解决它。一定要分享结果


注意:您可以在
hive default.xml
中检查此参数的默认值,检查
hive.mapred.mode
是否设置为
“strict”
,如果设置为,则不允许所有分区扫描提交的查询。您可以将其设置为非严格,如下所示:

hive>set hive.mapred.mode=nonstrict;
我不确定这是否导致您的查询没有结果,但正在尝试解决它。一定要分享结果


注意:您可以在
hive default.xml
中检查此参数的默认值,检查
hive.mapred.mode
是否设置为
“strict”
,如果设置为,则不允许所有分区扫描提交的查询。您可以将其设置为非严格,如下所示:

hive>set hive.mapred.mode=nonstrict;
我不确定这是否导致您的查询没有结果,但正在尝试解决它。一定要分享结果


注意:您可以在
hive default.xml
中检查此参数的默认值。您可以使用两条select语句始终获得相同的值。前

Create table table1(
session_id string,
page_id string
)
partitioned by (metrics_date string);
假设我们已经为2个分区加载了表

配置单元>显示分区表1
metrics_date=2012.07.28.08
计量单位日期=2012.07.28.09

获取每个分区的行数
select metrics_date,count(*) from (
select * from table1 ) temp
group by metrics_date;  

使用2条select语句始终可以获得相同的结果。前

Create table table1(
session_id string,
page_id string
)
partitioned by (metrics_date string);
假设我们已经为2个分区加载了表

配置单元>显示分区表1
metrics_date=2012.07.28.08
计量单位日期=2012.07.28.09

获取每个分区的行数
select metrics_date,count(*) from (
select * from table1 ) temp
group by metrics_date;  

使用2条select语句始终可以获得相同的结果。前

Create table table1(
session_id string,
page_id string
)
partitioned by (metrics_date string);
假设我们已经为2个分区加载了表

配置单元>显示分区表1
metrics_date=2012.07.28.08
计量单位日期=2012.07.28.09

获取每个分区的行数
select metrics_date,count(*) from (
select * from table1 ) temp
group by metrics_date;  

使用2条select语句始终可以获得相同的结果。前

Create table table1(
session_id string,
page_id string
)
partitioned by (metrics_date string);
假设我们已经为2个分区加载了表

配置单元>显示分区表1
metrics_date=2012.07.28.08
计量单位日期=2012.07.28.09

获取每个分区的行数
select metrics_date,count(*) from (
select * from table1 ) temp
group by metrics_date;  

要获得整个结果以及分组依据,您可以使用以下查询

SELECT pt,count(*) OVER (PARTITION BY pt) FROM TABLENAME;

这可以通过分区依据来实现。

要获得整个结果以及分组依据,您可以使用以下查询

SELECT pt,count(*) OVER (PARTITION BY pt) FROM TABLENAME;

这可以通过分区依据来实现。

要获得整个结果以及分组依据,您可以使用以下查询

SELECT pt,count(*) OVER (PARTITION BY pt) FROM TABLENAME;

这可以通过分区依据来实现。

要获得整个结果以及分组依据,您可以使用以下查询

SELECT pt,count(*) OVER (PARTITION BY pt) FROM TABLENAME;

这可以通过分区实现。

从TABLENAME中选择计数(*)的结果是什么?您确定分区中有数据吗?我假设有数据,否则无法创建分区,对吗?从TABLENAME中选择计数(*)的结果是什么?您确定分区中有数据吗?我假设有数据,否则无法创建分区,对吗?从TABLENAME中选择计数(*)的结果是什么?您确定分区中有数据吗?我假设有数据,否则无法创建分区,对吗?从TABLENAME中选择计数(*)的结果是什么?您确定分区中有数据吗?我想有数据,否则无法创建分区,对吗?谢谢。我设置了hive.mapred.mode=strict,然后触发查询(按pt从表组中选择pt,count(*))但我得到了如下错误:SemanticException org.apache.thrift.transport.ttTransportException:java.net.SocketTimeoutException:Read timed out谢谢。我设置了hive.mapred.mode=strict,然后触发查询(按pt从表组中选择pt,count(*))但我得到了如下错误:SemanticException org.apache.thrift.transport.ttTransportException:java.net.SocketTimeoutException:Read timed out谢谢。我设置了hive.mapred.mode=strict,然后触发查询(按pt从表组中选择pt,count(*))但我得到了如下错误:SemanticException org.apache.thrift.transport.ttTransportException:java.net.SocketTimeoutException:Read timed out谢谢。我设置了hive.mapred.mode=strict,然后触发查询(按pt从表组中选择pt,count(*))但我得到了如下错误:AILED:SemanticException org.apache.thrift.transport.ttTransportException:java.net.SocketTimeoutException:Read timed outGetting
HiveSQLException:编译语句时出错:失败:SemanticException未能将窗口调用拆分为组。至少有1个组必须仅依赖于输入列。还要检查循环依赖项。
Getting
HiveSQLException:编译语句时出错:失败:SemanticException未能将窗口调用拆分为组。至少有1个组必须仅依赖于输入列。还要检查循环依赖项。
Getting
HiveSQLException:编译语句时出错:失败:SemanticException未能将窗口调用拆分为组。至少有1个组必须仅依赖于输入列。还要检查循环依赖关系。
Getting
HiveSQLException:编译时出错