小编sar*_*ath的帖子

在mongoDB中创建唯一索引

我正在使用java程序进行mongo db插入尝试为字段创建唯一索引.product_src是我的集合中的一个字段,我想将其设置为唯一索引,以避免重复插入.我正在尝试以下代码,但显示语法错误这是什么问题.

DB db;
    try {
        sample = new MongoClient("myIP",PORT);
        db = sample.getDB("client_mahout");
        t = db.getCollection("data_flipkart_in_avoid_duplicate_checking");
        System.out.println("enter the system ip");
        db.t.ensureIndex({"product_src":1});
    } catch (Exception e) {}
Run Code Online (Sandbox Code Playgroud)

t是集合.行db.t.ensureIndex({"product_src":1})存在问题;

请给我一个示例代码,如何在mongo DB中创建唯一索引

java mongodb mongo-collection mongodb-query

6
推荐指数
2
解决办法
5095
查看次数

从 hive 外部表和 HDFS 目录中删除 null 或 __HIVE_DEFAULT_PARTITION__

我正在尝试从 hive 外部表和 HDFS 目录中删除null / HIVE_DEFAULT_PARTITION但我无法删除它..我去过其他一些关于同一问题的帖子,我尝试了这些,即使它没有显示任何内容错误分区未被删除。

process_date=20160208
process_date=__HIVE_DEFAULT_PARTITION__

这些是我现在表中的分区。我只想删除配置单元默认分区。(这是外部表,所以我也需要从 HDFS 中删除相同的表)

我试过这个

ALTER TABLE Table_Name DROP IF EXISTS PARTITION(process_date='__HIVE_DEFAULT_PARTITION__');

我遇到以下错误

错误:编译语句时出错:失败:SemanticException (process_date = null) (state=42000,code=40000) 出现意外的未知分区

我尝试了下面的

ALTER TABLE table_name DROP PARTITION(process_date<'1');

没有错误,但 hive 默认分区仍然存在。

请帮我解决这个问题。

hive bigdata external-tables hiveql

5
推荐指数
1
解决办法
9217
查看次数

Hive 分区 - 如何删除 null 或 hive_default_partition

我在配置单元中遇到配置单元默认分区(空分区)的问题。我将在此处简要说明情况。我有一个 hive 主表,并且每天都在该表中进行数据摄取。但不知何故,当数据被摄取到 hive 表中时,出现了问题,分区显示 _hive_default_partition_ 或在我的理解中它是空分区。

我需要从配置单元表中删除分区。(它是外部表)...

我正在使用 hive 版本 1.1 和 CDH 版本 5.4.8 ..

我尝试了以下语法,但对我不起作用。

alter table "tablename" drop partition(partn='_hive_default_partition_);

alter table "tablename" drop partition(partn<'1');

alter table "tablename" drop partition(partn = 1);

alter table "tablename" drop partition(partn='0');
Run Code Online (Sandbox Code Playgroud)

我尝试了上述所有步骤,但没有任何效果..

希望有人能帮我解决这个问题。

提前致谢 ,

hive hdfs hiveql

3
推荐指数
2
解决办法
1万
查看次数