直接上代码,详见注释 import org.apache.spark.sql.hive.HiveContext import org.apache.spark.{SparkContext, SparkConf} /** * Created by zxh on 2016/6/10. */ object UDF_test { def main(args: Array[String]): Unit = { val conf = new SparkConf() implicit val sc = new
一.问题需求: 近期需要做一个商品集合的相关性计算,需要将所有商品进行两两组合笛卡尔积,但spark自带的笛卡尔积会造成过多重复,而且增加join量 假如商品集合里面有: aa aa bb bb cc cc 两两进行组合会出现九种情况 aa,aa aa,bb aa,cc cc,aa bb,aa bb,cc cc,aa cc,bb cc,cc 其实 aa,aa 还有aa,bb与bb,aa是一样的 我们其实只要其中3种: 排列组合: aa,bb bb, cc aa, cc 二.实现:
创建每列随机值的语句 create table TEST_ZHAA01A_03 as select rownum as id, to_char(sysdate + rownum/24/3600, 'yyyy-mm-dd hh24:mi:ss') as inc_datetime, trunc(dbms_random.value(0, 999999999999)) as random_id, dbms_random.string('x', 20) random_string from dual co