我正在使用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中创建唯一索引
我正在尝试从 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 主表,并且每天都在该表中进行数据摄取。但不知何故,当数据被摄取到 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)
我尝试了上述所有步骤,但没有任何效果..
希望有人能帮我解决这个问题。
提前致谢 ,