Skip to content
Snippets Groups Projects
  • Tarek Auel's avatar
    5b333813
    [SPARK-8223] [SPARK-8224] [SQL] shift left and shift right · 5b333813
    Tarek Auel authored
    Jira:
    https://issues.apache.org/jira/browse/SPARK-8223
    https://issues.apache.org/jira/browse/SPARK-8224
    
    ~~I am aware of #7174 and will update this pr, if it's merged.~~ Done
    I don't know if #7034 can simplify this, but we can have a look on it, if it gets merged
    
    rxin In the Jira ticket the function as no second argument. I added a `numBits` argument that allows to specify the number of bits. I guess this improves the usability. I wanted to add `shiftleft(value)` as well, but the `selectExpr` dataframe tests crashes, if I have both. I order to do this, I added the following to the functions.scala `def shiftRight(e: Column): Column = ShiftRight(e.expr, lit(1).expr)`, but as I mentioned this doesn't pass tests like `df.selectExpr("shiftRight(a)", ...` (not enough arguments exception).
    
    If we need the bitwise shift in order to be hive compatible, I suggest to add `shiftLeft` and something like `shiftLeftX`
    
    Author: Tarek Auel <tarek.auel@googlemail.com>
    
    Closes #7178 from tarekauel/8223 and squashes the following commits:
    
    8023bb5 [Tarek Auel] [SPARK-8223][SPARK-8224] fixed test
    f3f64e6 [Tarek Auel] [SPARK-8223][SPARK-8224] Integer -> Int
    f628706 [Tarek Auel] [SPARK-8223][SPARK-8224] removed toString; updated function description
    3b56f2a [Tarek Auel] Merge remote-tracking branch 'origin/master' into 8223
    5189690 [Tarek Auel] [SPARK-8223][SPARK-8224] minor fix and style fix
    9434a28 [Tarek Auel] Merge remote-tracking branch 'origin/master' into 8223
    44ee324 [Tarek Auel] [SPARK-8223][SPARK-8224] docu fix
    ac7fe9d [Tarek Auel] [SPARK-8223][SPARK-8224] right and left bit shift
    5b333813
    History
    [SPARK-8223] [SPARK-8224] [SQL] shift left and shift right
    Tarek Auel authored
    Jira:
    https://issues.apache.org/jira/browse/SPARK-8223
    https://issues.apache.org/jira/browse/SPARK-8224
    
    ~~I am aware of #7174 and will update this pr, if it's merged.~~ Done
    I don't know if #7034 can simplify this, but we can have a look on it, if it gets merged
    
    rxin In the Jira ticket the function as no second argument. I added a `numBits` argument that allows to specify the number of bits. I guess this improves the usability. I wanted to add `shiftleft(value)` as well, but the `selectExpr` dataframe tests crashes, if I have both. I order to do this, I added the following to the functions.scala `def shiftRight(e: Column): Column = ShiftRight(e.expr, lit(1).expr)`, but as I mentioned this doesn't pass tests like `df.selectExpr("shiftRight(a)", ...` (not enough arguments exception).
    
    If we need the bitwise shift in order to be hive compatible, I suggest to add `shiftLeft` and something like `shiftLeftX`
    
    Author: Tarek Auel <tarek.auel@googlemail.com>
    
    Closes #7178 from tarekauel/8223 and squashes the following commits:
    
    8023bb5 [Tarek Auel] [SPARK-8223][SPARK-8224] fixed test
    f3f64e6 [Tarek Auel] [SPARK-8223][SPARK-8224] Integer -> Int
    f628706 [Tarek Auel] [SPARK-8223][SPARK-8224] removed toString; updated function description
    3b56f2a [Tarek Auel] Merge remote-tracking branch 'origin/master' into 8223
    5189690 [Tarek Auel] [SPARK-8223][SPARK-8224] minor fix and style fix
    9434a28 [Tarek Auel] Merge remote-tracking branch 'origin/master' into 8223
    44ee324 [Tarek Auel] [SPARK-8223][SPARK-8224] docu fix
    ac7fe9d [Tarek Auel] [SPARK-8223][SPARK-8224] right and left bit shift