91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

【SQL】spark sql 不等值 join

發布時間:2020-07-06 14:49:09 來源:網絡 閱讀:4201 作者:巧克力黒 欄目:大數據

products一個商品價格變化的表,orders商品訂單,記錄每次購買商品和日期
基于Spark SQL中的不等值join實現orders和products的匹配,統計每個訂單中商品對應當時的價格

緩慢變化的商品價格表
旺仔牛奶,發生過一次價格變更


scala> val products = sc.parallelize(Array(
     |   ("旺仔牛奶", "2017-01-01", "2018-01-01", 4),
     |   ("旺仔牛奶", "2018-01-02", "2020-01-01", 5),
     |   ("王老吉", "2017-01-02", "2019-01-01", 5),
     |   ("衛龍辣條", "2010-01-01", "2020-01-01", 2)
     | )).toDF("name", "startDate", "endDate", "price")
products: org.apache.spark.sql.DataFrame = [name: string, startDate: string ... 2 more fields]

scala> products.show();
+----+----------+----------+-----+
|name| startDate|   endDate|price|
+----+----------+----------+-----+
|旺仔牛奶|2017-01-01|2018-01-01|    4|
|旺仔牛奶|2018-01-02|2020-01-01|    5|
|   王老吉|2017-01-02|2019-01-01|    5|
|衛龍辣條|2010-01-01|2020-01-01|    2|
+----+----------+----------+-----+

訂單表(商品名稱,訂單日期)
旺仔牛奶在不同價格時段分別發生了一次訂單

scala> val orders = sc.parallelize(Array(
     |   ("2017-06-01", "旺仔牛奶"),
     |   ("2017-07-01", "王老吉"),
     |   ("2018-03-01", "旺仔牛奶")
     | )).toDF("date", "product")
orders: org.apache.spark.sql.DataFrame = [date: string, product: string]

scala> orders.show
+----------+-------+
|      date|product|
+----------+-------+
|2017-06-01|旺仔牛奶|
|2017-07-01|    王老吉|
|2018-03-01|旺仔牛奶|
+----------+-------+

通過不等值連接,計算每個訂單當時的商品價格
查看出旺仔牛奶,兩個訂單在不同時間段上對應的價格

scala> orders.join(products, $"product" === $"name" && $"date" >= $"startDate" && $"date" <= $"endDate").show()
+-----------+------------+----------+------------+-------------+-----+
|     date      |  product   |    name  |   startDate |   endDate   | price|
+-----------+------------+----------+------------+-------------+-----+
|2017-07-01|    王老吉  | 王老吉   |2017-01-02|2019-01-01 |    5  |
|2017-06-01|  旺仔牛奶 |旺仔牛奶|2017-01-01|2018-01-01 |    4  |
|2018-03-01|  旺仔牛奶 |旺仔牛奶|2018-01-02|2020-01-01 |    5  |
+-----------+------------+----------+------------+-------------+-----+
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

民乐县| 浦东新区| 娱乐| 双鸭山市| 容城县| 兴海县| 高碑店市| 奉节县| 伊金霍洛旗| 昭通市| 扶余县| 石景山区| 张家界市| 长春市| 龙川县| 广灵县| 商丘市| 衡水市| 朝阳市| 登封市| 罗平县| 罗城| 若羌县| 望都县| 淮安市| 鱼台县| 师宗县| 西青区| 乌兰县| 桐梓县| 长葛市| 从化市| 奈曼旗| 奎屯市| 沙洋县| 朔州市| 萨迦县| 泰州市| 玛沁县| 固安县| 公安县|