hive怎么实现类似联合字段唯一性约束

hive怎么实现类似联合字段唯一性约束,第1张

1. 建表时加上唯一性约束

CREATE TABLE `t_user` (

`Id` int(11) NOT NULL AUTO_INCREMENT, -- 自增

`username` varchar(18) NOT NULL unique, -- 唯一性约束

`password` varchar(18) NOT NULL,

PRIMARY KEY (`Id`)

) ENGINE=InnoDB AUTO_INCREMENT=1018 DEFAULT CHARSET=gbk

2.给已经建好的表加上唯一性约束

ALTER TABLE `t_user` ADD unique(`username`)

参考资料

csdn.csdn[引用时间2018-1-9]

关键字:Spark算子、Spark RDD基本转换、zipWithIndex、zipWithUniqueId

zipWithIndex

def zipWithIndex(): RDD[(T, Long)]

该函数将RDD中的元素和这个元素在RDD中的ID(索引号)组合成键/值对。

该函数将RDD中元素和一个唯一ID组合成键/值对,该唯一ID生成算法如下:

每个分区中第一个元素的唯一ID值为:该分区索引号,

每个分区中第N个元素的唯一ID值为:(前一个元素的唯一ID值) + (该RDD总的分区数)

看下面的例子:

//总分区数为2

//第一个分区第一个元素ID为0,第二个分区第一个元素ID为1

//第一个分区第二个元素ID为0+2=2,第一个分区第三个元素ID为2+2=4

//第二个分区第二个元素ID为1+2=3,第二个分区第三个元素ID为3+2=5

将hive-site.xml拷贝到${SPARK_HOME}/conf下。

根据hive的配置参数hive.metastore.uris的情况,采用不同的集成方式

分别:

配置hive.metastore.uris的方式。

如果没有配置全局hive,就使用bin/hive --service metastore &

这样就不再需要配置hive.metastore.uris参数配置。使用“,”分隔多个jar。

使用场景:要求Spark应用运行的所有机器上必须存在被添加的第三方jar文件

a. 创建一个保存第三方jar文件的文件夹:

b.修改Spark配置信息

c. 将依赖的jar文件copy到新建的文件夹中

备注:

如果spark on yarn(cluster),如果应用依赖第三方jar文件,最终解决方案:将第三方的jar文件copy到${HADOOP_HOME}/share/hadoop/common/lib文件夹中(Hadoop集群中所有机器均要求copy)

参考链接: https://www.cnblogs.com/juncaoit/p/6545092.html


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11921604.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-19
下一篇 2023-05-19

发表评论

登录后才能评论

评论列表(0条)

保存