2025-02-13 15:52:54 +01:00
<!doctype html>
< html lang = "en" >
< head >
< meta charset = "utf-8" >
< meta name = "viewport" content = "width=device-width, initial-scale=1" >
< meta name = "generator" content = "pdoc 13.1.1" / >
< title > sqlglot.dialects.spark2 API documentation< / title >
< style > / * ! * B o o t s t r a p R e b o o t v 5 . 0 . 0 ( h t t p s : / / g e t b o o t s t r a p . c o m / ) * C o p y r i g h t 2 0 1 1 - 2 0 2 1 T h e B o o t s t r a p A u t h o r s * C o p y r i g h t 2 0 1 1 - 2 0 2 1 T w i t t e r , I n c . * L i c e n s e d u n d e r M I T ( h t t p s : / / g i t h u b . c o m / t w b s / b o o t s t r a p / b l o b / m a i n / L I C E N S E ) * F o r k e d f r o m N o r m a l i z e . c s s , l i c e n s e d M I T ( h t t p s : / / g i t h u b . c o m / n e c o l a s / n o r m a l i z e . c s s / b l o b / m a s t e r / L I C E N S E . m d ) * / * , : : a f t e r , : : b e f o r e { b o x - s i z i n g : b o r d e r - b o x } @ m e d i a ( p r e f e r s - r e d u c e d - m o t i o n : n o - p r e f e r e n c e ) { : r o o t { s c r o l l - b e h a v i o r : s m o o t h } } b o d y { m a r g i n : 0 ; f o n t - f a m i l y : s y s t e m - u i , - a p p l e - s y s t e m , " S e g o e U I " , R o b o t o , " H e l v e t i c a N e u e " , A r i a l , " N o t o S a n s " , " L i b e r a t i o n S a n s " , s a n s - s e r i f , " A p p l e C o l o r E m o j i " , " S e g o e U I E m o j i " , " S e g o e U I S y m b o l " , " N o t o C o l o r E m o j i " ; f o n t - s i z e : 1 r e m ; f o n t - w e i g h t : 4 0 0 ; l i n e - h e i g h t : 1 . 5 ; c o l o r : # 2 1 2 5 2 9 ; b a c k g r o u n d - c o l o r : # f f f ; - w e b k i t - t e x t - s i z e - a d j u s t : 1 0 0 % ; - w e b k i t - t a p - h i g h l i g h t - c o l o r : t r a n s p a r e n t } h r { m a r g i n : 1 r e m 0 ; c o l o r : i n h e r i t ; b a c k g r o u n d - c o l o r : c u r r e n t C o l o r ; b o r d e r : 0 ; o p a c i t y : . 2 5 } h r : n o t ( [ s i z e ] ) { h e i g h t : 1 p x } h 1 , h 2 , h 3 , h 4 , h 5 , h 6 { m a r g i n - t o p : 0 ; m a r g i n - b o t t o m : . 5 r e m ; f o n t - w e i g h t : 5 0 0 ; l i n e - h e i g h t : 1 . 2 } h 1 { f o n t - s i z e : c a l c ( 1 . 3 7 5 r e m + 1 . 5 v w ) } @ m e d i a ( m i n - w i d t h : 1 2 0 0 p x ) { h 1 { f o n t - s i z e : 2 . 5 r e m } } h 2 { f o n t - s i z e : c a l c ( 1 . 3 2 5 r e m + . 9 v w ) } @ m e d i a ( m i n - w i d t h : 1 2 0 0 p x ) { h 2 { f o n t - s i z e : 2 r e m } } h 3 { f o n t - s i z e : c a l c ( 1 . 3 r e m + . 6 v w ) } @ m e d i a ( m i n - w i d t h : 1 2 0 0 p x ) { h 3 { f o n t - s i z e : 1 . 7 5 r e m } } h 4 { f o n t - s i z e : c a l c ( 1 . 2 7 5 r e m + . 3 v w ) } @ m e d i a ( m i n - w i d t h : 1 2 0 0 p x ) { h 4 { f o n t - s i z e : 1 . 5 r e m } } h 5 { f o n t - s i z e : 1 . 2 5 r e m } h 6 { f o n t - s i z e : 1 r e m } p { m a r g i n - t o p : 0 ; m a r g i n - b o t t o m : 1 r e m } a b b r [ d a t a - b s - o r i g i n a l - t i t l e ] , a b b r [ t i t l e ] { - w e b k i t - t e x t - d e c o r a t i o n : u n d e r l i n e d o t t e d ; t e x t - d e c o r a t i o n : u n d e r l i n e d o t t e d ; c u r s o r : h e l p ; - w e b k i t - t e x t - d e c o r a t i o n - s k i p - i n k : n o n e ; t e x t - d e c o r a t i o n - s k i p - i n k : n o n e } a d d r e s s { m a r g i n - b o t t o m : 1 r e m ; f o n t - s t y l e : n o r m a l ; l i n e - h e i g h t : i n h e r i t } o l , u l { p a d d i n g - l e f t : 2 r e m } d l , o l , u l { m a r g i n - t o p : 0 ; m a r g i n - b o t t o m : 1 r e m } o l o l , o l u l , u l o l , u l u l { m a r g i n - b o t t o m : 0 } d t { f o n t - w e i g h t : 7 0 0 } d d { m a r g i n - b o t t o m : . 5 r e m ; m a r g i n - l e f t : 0 } b l o c k q u o t e { m a r g i n : 0 0 1 r e m } b , s t r o n g { f o n t - w e i g h t : b o l d e r } s m a l l { f o n t - s i z e : . 8 7 5 e m } m a r k { p a d d i n g : . 2 e m ; b a c k g r o u n d - c o l o r : # f c f 8 e 3 } s u b , s u p { p o s i t i o n : r e l a t i v e ; f o n t - s i z e : . 7 5 e m ; l i n e - h e i g h t : 0 ; v e r t i c a l - a l i g n : b a s e l i n e } s u b { b o t t o m : - . 2 5 e m } s u p { t o p : - . 5 e m } a { c o l o r : # 0 d 6 e f d ; t e x t - d e c o r a t i o n : u n d e r l i n e } a : h o v e r { c o l o r : # 0 a 5 8 c a } a : n o t ( [ h r e f ] ) : n o t ( [ c l a s s ] ) , a : n o t ( [ h r e f ] ) : n o t ( [ c l a s s ] ) : h o v e r { c o l o r : i n h e r i t ; t e x t - d e c o r a t i o n : n o n e } c o d e , k b d , p r e , s a m p { f o n t - f a m i l y : S F M o n o - R e g u l a r , M e n l o , M o n a c o , C o n s o l a s , " L i b e r a t i o n M o n o " , " C o u r i e r N e w " , m o n o s p a c e ; f o n t - s i z e : 1 e m ; d i r e c t i o n : l t r ; u n i c o d e - b i d i : b i d i - o v e r r i d e } p r e { d i s p l a y : b l o c k ; m a r g i n - t o p : 0 ; m a r g i n - b o t t o m : 1 r e m ; o v e r f l o w : a u t o ; f o n t - s i z e : . 8 7 5 e m } p r e c o d e { f o n t - s i z e : i n h e r i t ; c o l o r : i n h e r i t ; w o r d - b r e a k : n o r m a l } c o d e { f o n t - s i z e : . 8 7 5 e m ; c o l o r : # d 6 3 3 8 4 ; w o r d - w r a p : b r e a k - w o r d } a > c o d e { c o l o r : i n h e r i t } k b d { p a d d i n g : . 2 r e m . 4 r e m ; f o n t - s i z e : . 8 7 5 e m ; c o l o r : # f f f ; b a c k g r o u n d - c o l o r : # 2 1 2 5 2 9 ; b o r d e r - r a d i u s : . 2 r e m } k b d k b d { p a d d i n g : 0 ; f o n t - s i z e : 1 e m ; f o n t - w e i g h t : 7 0 0 } f i g u r e { m a r g i n : 0 0 1 r e m } i m g , s v g { v e r t i c a l - a l i g n : m i d d l e } t a b l e { c a p t i o n - s i d e : b o t t o m ; b o r d e r - c o l l a p s e : c o l l a p s e } c a p t i o n { p a d d i n g - t o p : . 5 r e m ; p a d d i n g - b o t t o m : . 5 r e m ; c o l o r : # 6 c 7 5 7 d ; t e x t - a l i g n : l e f t } t h { t e x t - a l i g n : i n h e r i t ; t e x t - a l i g n : - w e b k i t - m a t c h - p a r e n t } t b o d y , t d , t f o o t , t h , t h e a d , t r { b o r d e r - c o l o r : i n h e r i t ; b o r d e r - s t y l e : s o l i d ; b o r d e r - w i d t h : 0 } l a b e l { d i s p l a y : i n l i n e - b l o c k } b u t t o n { b o r d e r - r a d i u s : 0 } b u t t o n : f o c u s : n o t ( : f o c u s - v i s i b l e ) { o u t l i n e : 0 } b u t t o n , i n p u t , o p t g r o u p , s e l e c t , t e x t a r e a { m a r g i n : 0 ; f o n t - f a m i l y : i n h e r i t ; f o n t - s i z e : i n h e r i t ; l i n e - h e i g h t : i n h e r i t } b u t t o n , s e l e c t { t e x t - t r a n s f o r m : n o n e } [ r o l e = b u t t o n ] { c u r s o r : p o i n t e r } s e l e c t { w o r d - w r a p : n o r m a l } s e l e c t : d i s a b l e d { o p a c i t y : 1 } [ l i s t ] : : - w e b k i t - c a l e n d a r - p i c k e r - i n d i c a t o r { d i s p l a y : n o n e } [ t y p e = b u t t o n ] , [ t y p e = r e s e t ] , [ t y p e = s u b m i t ] , b u t t o n { - w e b k i t - a p p e a r a n c e : b u t t o n } [ t y p e = b u t t o n ] : n o t ( : d i s a b l e d ) , [ t y p e = r e s e t ] : n o t ( : d i s a b l e d ) , [ t y p e = s u b m i t ] : n o t ( : d i s a b l e d ) , b u t t o n : n o t ( : d i s a b l e d ) { c u r s o r : p o i n t e r } : : - m o z - f o c u s - i n n e r { p a d d i n g : 0 ; b o r d e r - s t y l e : n o n e } t e x t a r e a { r e s i z e : v e r t i c a l } f i e l d s e t { m i n - w i d t h : 0 ; p a d d i n g : 0 ; m a r g i n : 0 ; b o r d e r : 0 } l e g e n d { f l o a t : l e f t ; w i d t h : 1 0 0 % ; p a d d i n g : 0 ; m a r g i n - b o t t o m : . 5 r e m ; f o n t - s i z e : c a l c ( 1 . 2 7 5 r e m + . 3 v w ) ; l i n e - h e i g h t : i n h e r i t } @ m e d i a ( m i n - w i d t h : 1 2 0 0 p x ) { l e g e n d { f o n t - s i z e : 1 . 5 r e m } } l e g e n d + * { c l e a r : l e f t } : : - w e b k i t - d a t e t i m e - e d i t - d a y - f i e l d , : : - w e b k i t - d a t e t i m e - e d i t - f i e l d s - w r a p p e r , : : - w e b k i t - d a t e t i m e - e d i t - h o u r - f i e l d , : : - w e b k i t - d a t e t i m e - e d i t - m i n u t e , : : - w e b k i t - d a t e t i m e - e d i t - m o n t h - f i e
< style > /*! syntax-highlighting.css */ pre { line-height : 125 % ; } span . linenos { color : inherit ; background-color : transparent ; padding-left : 5 px ; padding-right : 20 px ; } . pdoc-code . hll { background-color : #ffffcc } . pdoc-code { background : #f8f8f8 ; } . pdoc-code . c { color : #3D7B7B ; font-style : italic } . pdoc-code . err { border : 1 px solid #FF0000 } . pdoc-code . k { color : #008000 ; font-weight : bold } . pdoc-code . o { color : #666666 } . pdoc-code . ch { color : #3D7B7B ; font-style : italic } . pdoc-code . cm { color : #3D7B7B ; font-style : italic } . pdoc-code . cp { color : #9C6500 } . pdoc-code . cpf { color : #3D7B7B ; font-style : italic } . pdoc-code . c1 { color : #3D7B7B ; font-style : italic } . pdoc-code . cs { color : #3D7B7B ; font-style : italic } . pdoc-code . gd { color : #A00000 } . pdoc-code . ge { font-style : italic } . pdoc-code . gr { color : #E40000 } . pdoc-code . gh { color : #000080 ; font-weight : bold } . pdoc-code . gi { color : #008400 } . pdoc-code . go { color : #717171 } . pdoc-code . gp { color : #000080 ; font-weight : bold } . pdoc-code . gs { font-weight : bold } . pdoc-code . gu { color : #800080 ; font-weight : bold } . pdoc-code . gt { color : #0044DD } . pdoc-code . kc { color : #008000 ; font-weight : bold } . pdoc-code . kd { color : #008000 ; font-weight : bold } . pdoc-code . kn { color : #008000 ; font-weight : bold } . pdoc-code . kp { color : #008000 } . pdoc-code . kr { color : #008000 ; font-weight : bold } . pdoc-code . kt { color : #B00040 } . pdoc-code . m { color : #666666 } . pdoc-code . s { color : #BA2121 } . pdoc-code . na { color : #687822 } . pdoc-code . nb { color : #008000 } . pdoc-code . nc { color : #0000FF ; font-weight : bold } . pdoc-code . no { color : #880000 } . pdoc-code . nd { color : #AA22FF } . pdoc-code . ni { color : #717171 ; font-weight : bold } . pdoc-code . ne { color : #CB3F38 ; font-weight : bold } . pdoc-code . nf { color : #0000FF } . pdoc-code . nl { color : #767600 } . pdoc-code . nn { color : #0000FF ; font-weight : bold } . pdoc-code . nt { color : #008000 ; font-weight : bold } . pdoc-code . nv { color : #19177C } . pdoc-code . ow { color : #AA22FF ; font-weight : bold } . pdoc-code . w { color : #bbbbbb } . pdoc-code . mb { color : #666666 } . pdoc-code . mf { color : #666666 } . pdoc-code . mh { color : #666666 } . pdoc-code . mi { color : #666666 } . pdoc-code . mo { color : #666666 } . pdoc-code . sa { color : #BA2121 } . pdoc-code . sb { color : #BA2121 } . pdoc-code . sc { color : #BA2121 } . pdoc-code . dl { color : #BA2121 } . pdoc-code . sd { color : #BA2121 ; font-style : italic } . pdoc-code . s2 { color : #BA2121 } . pdoc-code . se { color : #AA5D1F ; font-weight : bold } . pdoc-code . sh { color : #BA2121 } . pdoc-code . si { color : #A45A77 ; font-weight : bold } . pdoc-code . sx { color : #008000 } . pdoc-code . sr { color : #A45A77 } . pdoc-code . s1 { color : #BA2121 } . pdoc-code . ss { color : #19177C } . pdoc-code . bp { color : #008000 } . pdoc-code . fm { color : #0000FF } . pdoc-code . vc { color : #19177C } . pdoc-code . vg { color : #19177C } . pdoc-code . vi { color : #19177C } . pdoc-code . vm { color : #19177C } . pdoc-code . il { color : #666666 } < / style >
< style > /*! theme.css */ : root { --pdoc-background : #fff ; } . pdoc { --text : #212529 ; --muted : #6c757d ; --link : #3660a5 ; --link-hover : #1659c5 ; --code : #f8f8f8 ; --active : #fff598 ; --accent : #eee ; --accent2 : #c1c1c1 ; --nav-hover : rgba ( 255 , 255 , 255 , 0.5 ) ; --name : #0066BB ; --def : #008800 ; --annotation : #007020 ; } < / style >
< style > /*! layout.css */ html , body { width : 100 % ; height : 100 % ; } html , main { scroll-behavior : smooth ; } body { background-color : var ( - - pdoc - background ) ; } @ media ( max-width : 769px ) { # navtoggle { cursor : pointer ; position : absolute ; width : 50 px ; height : 40 px ; top : 1 rem ; right : 1 rem ; border-color : var ( - - text ) ; color : var ( - - text ) ; display : flex ; opacity : 0.8 ; z-index : 999 ; } # navtoggle : hover { opacity : 1 ; } # togglestate + div { display : none ; } # togglestate : checked + div { display : inherit ; } main , header { padding : 2 rem 3 vw ; } header + main { margin-top : -3 rem ; } . git-button { display : none !important ; } nav input [ type = "search" ] { max-width : 77 % ; } nav input [ type = "search" ] : first-child { margin-top : -6 px ; } nav input [ type = "search" ] : valid ~ * { display : none !important ; } } @ media ( min-width : 770px ) { : root { --sidebar-width : clamp ( 12.5 rem , 28 vw , 22 rem ) ; } nav { position : fixed ; overflow : auto ; height : 100 vh ; width : var ( - - sidebar - width ) ; } main , header { padding : 3 rem 2 rem 3 rem calc ( var ( - - sidebar - width ) + 3 rem ) ; width : calc ( 54 rem + var ( - - sidebar - width ) ) ; max-width : 100 % ; } header + main { margin-top : -4 rem ; } # navtoggle { display : none ; } } # togglestate { position : absolute ; height : 0 ; opacity : 0 ; } nav . pdoc { --pad : clamp ( 0.5 rem , 2 vw , 1.75 rem ) ; --indent : 1.5 rem ; background-color : var ( - - accent ) ; border-right : 1 px solid var ( - - accent2 ) ; box-shadow : 0 0 20 px rgba ( 50 , 50 , 50 , .2 ) inset ; padding : 0 0 0 var ( - - pad ) ; overflow-wrap : anywhere ; scrollbar-width : thin ; scrollbar-color : var ( - - accent2 ) transparent } nav . pdoc :: -webkit-scrollbar { width : .4 rem ; } nav . pdoc :: -webkit-scrollbar-thumb { background-color : var ( - - accent2 ) ; } nav . pdoc > div { padding : var ( - - pad ) 0 ; } nav . pdoc . module-list-button { display : inline-flex ; align-items : center ; color : var ( - - text ) ; border-color : var ( - - muted ) ; margin-bottom : 1 rem ; } nav . pdoc . module-list-button : hover { border-color : var ( - - text ) ; } nav . pdoc input [ type = search ] { display : block ; outline-offset : 0 ; width : calc ( 100 % - var ( - - pad ) ) ; } nav . pdoc . logo { max-width : calc ( 100 % - var ( - - pad ) ) ; max-height : 35 vh ; display : block ; margin : 0 auto 1 rem ; transform : translate ( calc ( -.5 * var ( - - pad ) ) , 0 ) ; } nav . pdoc ul { list-style : none ; padding-left : 0 ; } nav . pdoc > div > ul { margin-left : calc ( 0 px - var ( - - pad ) ) ; } nav . pdoc li a { padding : .2 rem 0 .2 rem calc ( var ( - - pad ) + var ( - - indent ) ) ; } nav . pdoc > div > ul > li > a { padding-left : var ( - - pad ) ; } nav . pdoc li { transition : all 100 ms ; } nav . pdoc li : hover { background-color : var ( - - nav - hover ) ; } nav . pdoc a , nav . pdoc a : hover { color : var ( - - text ) ; } nav . pdoc a { display : block ; } nav . pdoc > h2 : first-of-type { margin-top : 1.5 rem ; } nav . pdoc . class : before { content : "class " ; color : var ( - - muted ) ; } nav . pdoc . function : after { content : "()" ; color : var ( - - muted ) ; } nav . pdoc footer : before { content : "" ; display : block ; width : calc ( 100 % - var ( - - pad ) ) ; border-top : solid var ( - - accent2 ) 1 px ; margin-top : 1.5 rem ; padding-top : .5 rem ; } nav . pdoc footer { font-size : small ; } < / style >
< style > / * ! c o n t e n t . c s s * / . p d o c { c o l o r : v a r ( - - t e x t ) ; b o x - s i z i n g : b o r d e r - b o x ; l i n e - h e i g h t : 1 . 5 ; b a c k g r o u n d : n o n e ; } . p d o c . p d o c - b u t t o n { c u r s o r : p o i n t e r ; d i s p l a y : i n l i n e - b l o c k ; b o r d e r : s o l i d b l a c k 1 p x ; b o r d e r - r a d i u s : 2 p x ; f o n t - s i z e : . 7 5 r e m ; p a d d i n g : c a l c ( 0 . 5 e m - 1 p x ) 1 e m ; t r a n s i t i o n : 1 0 0 m s a l l ; } . p d o c . p d o c - a l e r t { p a d d i n g : 1 r e m 1 r e m 1 r e m c a l c ( 1 . 5 r e m + 2 4 p x ) ; b o r d e r : 1 p x s o l i d t r a n s p a r e n t ; b o r d e r - r a d i u s : . 2 5 r e m ; b a c k g r o u n d - r e p e a t : n o - r e p e a t ; b a c k g r o u n d - p o s i t i o n : 1 r e m c e n t e r ; m a r g i n - b o t t o m : 1 r e m ; } . p d o c . p d o c - a l e r t > * : l a s t - c h i l d { m a r g i n - b o t t o m : 0 ; } . p d o c . p d o c - a l e r t - n o t e { c o l o r : # 0 8 4 2 9 8 ; b a c k g r o u n d - c o l o r : # c f e 2 f f ; b o r d e r - c o l o r : # b 6 d 4 f e ; b a c k g r o u n d - i m a g e : u r l ( " d a t a : i m a g e / s v g + x m l , % 3 C s v g % 2 0 x m l n s % 3 D % 2 2 h t t p % 3 A / / w w w . w 3 . o r g / 2 0 0 0 / s v g % 2 2 % 2 0 w i d t h % 3 D % 2 2 2 4 % 2 2 % 2 0 h e i g h t % 3 D % 2 2 2 4 % 2 2 % 2 0 f i l l % 3 D % 2 2 % 2 3 0 8 4 2 9 8 % 2 2 % 2 0 v i e w B o x % 3 D % 2 2 0 % 2 0 0 % 2 0 1 6 % 2 0 1 6 % 2 2 % 3 E % 3 C p a t h % 2 0 d % 3 D % 2 2 M 8 % 2 0 1 6 A 8 % 2 0 8 % 2 0 0 % 2 0 1 % 2 0 0 % 2 0 8 % 2 0 0 a 8 % 2 0 8 % 2 0 0 % 2 0 0 % 2 0 0 % 2 0 0 % 2 0 1 6 z m . 9 3 - 9 . 4 1 2 - 1 % 2 0 4 . 7 0 5 c - . 0 7 . 3 4 . 0 2 9 . 5 3 3 . 3 0 4 . 5 3 3 . 1 9 4 % 2 0 0 % 2 0 . 4 8 7 - . 0 7 . 6 8 6 - . 2 4 6 l - . 0 8 8 . 4 1 6 c - . 2 8 7 . 3 4 6 - . 9 2 . 5 9 8 - 1 . 4 6 5 . 5 9 8 - . 7 0 3 % 2 0 0 - 1 . 0 0 2 - . 4 2 2 - . 8 0 8 - 1 . 3 1 9 l . 7 3 8 - 3 . 4 6 8 c . 0 6 4 - . 2 9 3 . 0 0 6 - . 3 9 9 - . 2 8 7 - . 4 7 l - . 4 5 1 - . 0 8 1 . 0 8 2 - . 3 8 1 % 2 0 2 . 2 9 - . 2 8 7 z M 8 % 2 0 5 . 5 a 1 % 2 0 1 % 2 0 0 % 2 0 1 % 2 0 1 % 2 0 0 - 2 % 2 0 1 % 2 0 1 % 2 0 0 % 2 0 0 % 2 0 1 % 2 0 0 % 2 0 2 z % 2 2 / % 3 E % 3 C / s v g % 3 E " ) ; } . p d o c . p d o c - a l e r t - w a r n i n g { c o l o r : # 6 6 4 d 0 3 ; b a c k g r o u n d - c o l o r : # f f f 3 c d ; b o r d e r - c o l o r : # f f e c b 5 ; b a c k g r o u n d - i m a g e : u r l ( " d a t a : i m a g e / s v g + x m l , % 3 C s v g % 2 0 x m l n s % 3 D % 2 2 h t t p % 3 A / / w w w . w 3 . o r g / 2 0 0 0 / s v g % 2 2 % 2 0 w i d t h % 3 D % 2 2 2 4 % 2 2 % 2 0 h e i g h t % 3 D % 2 2 2 4 % 2 2 % 2 0 f i l l % 3 D % 2 2 % 2 3 6 6 4 d 0 3 % 2 2 % 2 0 v i e w B o x % 3 D % 2 2 0 % 2 0 0 % 2 0 1 6 % 2 0 1 6 % 2 2 % 3 E % 3 C p a t h % 2 0 d % 3 D % 2 2 M 8 . 9 8 2 % 2 0 1 . 5 6 6 a 1 . 1 3 % 2 0 1 . 1 3 % 2 0 0 % 2 0 0 % 2 0 0 - 1 . 9 6 % 2 0 0 L . 1 6 5 % 2 0 1 3 . 2 3 3 c - . 4 5 7 . 7 7 8 . 0 9 1 % 2 0 1 . 7 6 7 . 9 8 % 2 0 1 . 7 6 7 h 1 3 . 7 1 3 c . 8 8 9 % 2 0 0 % 2 0 1 . 4 3 8 - . 9 9 . 9 8 - 1 . 7 6 7 L 8 . 9 8 2 % 2 0 1 . 5 6 6 z M 8 % 2 0 5 c . 5 3 5 % 2 0 0 % 2 0 . 9 5 4 . 4 6 2 . 9 . 9 9 5 l - . 3 5 % 2 0 3 . 5 0 7 a . 5 5 2 . 5 5 2 % 2 0 0 % 2 0 0 % 2 0 1 - 1 . 1 % 2 0 0 L 7 . 1 % 2 0 5 . 9 9 5 A . 9 0 5 . 9 0 5 % 2 0 0 % 2 0 0 % 2 0 1 % 2 0 8 % 2 0 5 z m . 0 0 2 % 2 0 6 a 1 % 2 0 1 % 2 0 0 % 2 0 1 % 2 0 1 % 2 0 0 % 2 0 2 % 2 0 1 % 2 0 1 % 2 0 0 % 2 0 0 % 2 0 1 % 2 0 0 - 2 z % 2 2 / % 3 E % 3 C / s v g % 3 E " ) ; } . p d o c . p d o c - a l e r t - d a n g e r { c o l o r : # 8 4 2 0 2 9 ; b a c k g r o u n d - c o l o r : # f 8 d 7 d a ; b o r d e r - c o l o r : # f 5 c 2 c 7 ; b a c k g r o u n d - i m a g e : u r l ( " d a t a : i m a g e / s v g + x m l , % 3 C s v g % 2 0 x m l n s % 3 D % 2 2 h t t p % 3 A / / w w w . w 3 . o r g / 2 0 0 0 / s v g % 2 2 % 2 0 w i d t h % 3 D % 2 2 2 4 % 2 2 % 2 0 h e i g h t % 3 D % 2 2 2 4 % 2 2 % 2 0 f i l l % 3 D % 2 2 % 2 3 8 4 2 0 2 9 % 2 2 % 2 0 v i e w B o x % 3 D % 2 2 0 % 2 0 0 % 2 0 1 6 % 2 0 1 6 % 2 2 % 3 E % 3 C p a t h % 2 0 d % 3 D % 2 2 M 5 . 5 2 . 3 5 9 A . 5 . 5 % 2 0 0 % 2 0 0 % 2 0 1 % 2 0 6 % 2 0 0 h 4 a . 5 . 5 % 2 0 0 % 2 0 0 % 2 0 1 % 2 0 . 4 7 4 . 6 5 8 L 8 . 6 9 4 % 2 0 6 H 1 2 . 5 a . 5 . 5 % 2 0 0 % 2 0 0 % 2 0 1 % 2 0 . 3 9 5 . 8 0 7 l - 7 % 2 0 9 a . 5 . 5 % 2 0 0 % 2 0 0 % 2 0 1 - . 8 7 3 - . 4 5 4 L 6 . 8 2 3 % 2 0 9 . 5 H 3 . 5 a . 5 . 5 % 2 0 0 % 2 0 0 % 2 0 1 - . 4 8 - . 6 4 1 l 2 . 5 - 8 . 5 z % 2 2 / % 3 E % 3 C / s v g % 3 E " ) ; } . p d o c . v i s u a l l y - h i d d e n { p o s i t i o n : a b s o l u t e ! i m p o r t a n t ; w i d t h : 1 p x ! i m p o r t a n t ; h e i g h t : 1 p x ! i m p o r t a n t ; p a d d i n g : 0 ! i m p o r t a n t ; m a r g i n : - 1 p x ! i m p o r t a n t ; o v e r f l o w : h i d d e n ! i m p o r t a n t ; c l i p : r e c t ( 0 , 0 , 0 , 0 ) ! i m p o r t a n t ; w h i t e - s p a c e : n o w r a p ! i m p o r t a n t ; b o r d e r : 0 ! i m p o r t a n t ; } . p d o c h 1 , . p d o c h 2 , . p d o c h 3 { f o n t - w e i g h t : 3 0 0 ; m a r g i n : . 3 e m 0 ; p a d d i n g : . 2 e m 0 ; } . p d o c > s e c t i o n : n o t ( . m o d u l e - i n f o ) h 1 { f o n t - s i z e : 1 . 5 r e m ; f o n t - w e i g h t : 5 0 0 ; } . p d o c > s e c t i o n : n o t ( . m o d u l e - i n f o ) h 2 { f o n t - s i z e : 1 . 4 r e m ; f o n t - w e i g h t : 5 0 0 ; } . p d o c > s e c t i o n : n o t ( . m o d u l e - i n f o ) h 3 { f o n t - s i z e : 1 . 3 r e m ; f o n t - w e i g h t : 5 0 0 ; } . p d o c > s e c t i o n : n o t ( . m o d u l e - i n f o ) h 4 { f o n t - s i z e : 1 . 2 r e m ; } . p d o c > s e c t i o n : n o t ( . m o d u l e - i n f o ) h 5 { f o n t - s i z e : 1 . 1 r e m ; } . p d o c a { t e x t - d e c o r a t i o n : n o n e ; c o l o r : v a r ( - - l i n k ) ; } . p d o c a : h o v e r { c o l o r : v a r ( - - l i n k - h o v e r ) ; } . p d o c b l o c k q u o t e { m a r g i n - l e f t : 2 r e m ; } . p d o c p r e { b o r d e r - t o p : 1 p x s o l i d v a r ( - - a c c e n t 2 ) ; b o r d e r - b o t t o m : 1 p x s o l i d v a r ( - - a c c e n t 2 ) ; m a r g i n - t o p : 0 ; m a r g i n - b o t t o m : 1 e m ; p a d d i n g : . 5 r e m 0 . 5 r e m . 5 r e m ; o v e r f l o w - x : a u t o ; b a c k g r o u n d - c o l o r : v a r ( - - c o d e ) ; } . p d o c c o d e { c o l o r : v a r ( - - t e x t ) ; p a d d i n g : . 2 e m . 4 e m ; m a r g i n : 0 ; f o n t - s i z e : 8 5 % ; b a c k g r o u n d - c o l o r : v a r ( - - c o d e ) ; b o r d e r - r a d i u s : 6 p x ; } . p d o c a > c o d e { c o l o r : i n h e r i t ; } . p d o c p r e > c o d e { d i s p l a y : i n l i n e - b l o c k ; f o n t - s i z e : i n h e r i t ; b a c k g r o u n d : n o n e ; b o r d e r : n o n e ; p a d d i n g : 0 ; } . p d o c > s e c t i o n : n o t ( . m o d u l e - i n f o ) { m a r g i n - b o t t o m : 1 . 5 r e m ; } . p d o c . m o d u l e n a m e { m a r g i n - t o p : 0 ; f o n t - w e i g h t : b o l d ; } . p d o c . m o d u l e n a m e a { c o l o r : v a r ( - - l i n k ) ; t r a n s i t i o n : 1 0 0 m s a l l ; } . p d o c . g i t - b u t t o n { f l o a t : r i g h t ; b o r d e r : s o l i d v a r ( - - l i n k ) 1 p x ; } . p d o c . g i t - b u t t o n : h o v e r { b a c k g r o u n d - c o l o r : v a r ( - - l i n k ) ; c o l o r : v a r ( - - p d o c - b a c k g r o u n d ) ; } . v i e w - s o u r c e - t o g g l e - s t a t e , . v i e w - s o u r c e - t o g g l e - s t a t e ~ . p d o c - c o d e { d i s p l a y : n o n e ; } . v i e w - s o u r c e - t o g g l e - s t a t e : c h e c k e d ~ . p d o c - c o d e { d i s p l a y : b l o c k ; } . v i e w - s o u r c e - b u t t o n { d i s p l a y : i n l i n e - b l o c k ; f l o a t : r i g h t ; f o n t - s i z e : . 7 5 r e m ; l i n e - h e i g h t : 1 . 5 r e m ; c o l o r : v a r ( - - m u t e d ) ; p a d d i n g : 0 . 4 r e m 0 1 . 3 r
< style > /*! custom.css */ < / style > < / head >
< body >
< nav class = "pdoc" >
< label id = "navtoggle" for = "togglestate" class = "pdoc-button" > < svg xmlns = 'http://www.w3.org/2000/svg' viewBox = '0 0 30 30' > < path stroke-linecap = 'round' stroke = "currentColor" stroke-miterlimit = '10' stroke-width = '2' d = 'M4 7h22M4 15h22M4 23h22' / > < / svg > < / label >
< input id = "togglestate" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div > < a class = "pdoc-button module-list-button" href = "../dialects.html" >
< svg xmlns = "http://www.w3.org/2000/svg" width = "16" height = "16" fill = "currentColor" class = "bi bi-box-arrow-in-left" viewBox = "0 0 16 16" >
< path fill-rule = "evenodd" d = "M10 3.5a.5.5 0 0 0-.5-.5h-8a.5.5 0 0 0-.5.5v9a.5.5 0 0 0 .5.5h8a.5.5 0 0 0 .5-.5v-2a.5.5 0 0 1 1 0v2A1.5 1.5 0 0 1 9.5 14h-8A1.5 1.5 0 0 1 0 12.5v-9A1.5 1.5 0 0 1 1.5 2h8A1.5 1.5 0 0 1 11 3.5v2a.5.5 0 0 1-1 0v-2z" / >
< path fill-rule = "evenodd" d = "M4.146 8.354a.5.5 0 0 1 0-.708l3-3a.5.5 0 1 1 .708.708L5.707 7.5H14.5a.5.5 0 0 1 0 1H5.707l2.147 2.146a.5.5 0 0 1-.708.708l-3-3z" / >
< / svg > sqlglot.dialects< / a >
< input type = "search" placeholder = "Search..." role = "searchbox" aria-label = "search"
pattern=".+" required>
< h2 > API Documentation< / h2 >
< ul class = "memberlist" >
< li >
< a class = "class" href = "#Spark2" > Spark2< / a >
< ul class = "memberlist" >
< li >
< a class = "class" href = "#Spark2.Parser" > Spark2.Parser< / a >
< ul class = "memberlist" >
< / ul >
< / li >
< li >
< a class = "class" href = "#Spark2.Generator" > Spark2.Generator< / a >
< ul class = "memberlist" >
< li >
< a class = "function" href = "#Spark2.Generator.cast_sql" > cast_sql< / a >
< / li >
2025-02-13 15:56:32 +01:00
< li >
< a class = "function" href = "#Spark2.Generator.columndef_sql" > columndef_sql< / a >
< / li >
2025-02-13 20:04:17 +01:00
< li >
< a class = "function" href = "#Spark2.Generator.can_identify" > can_identify< / a >
< / li >
2025-02-13 15:52:54 +01:00
< / ul >
< / li >
< li >
< a class = "class" href = "#Spark2.Tokenizer" > Spark2.Tokenizer< / a >
< ul class = "memberlist" >
< / ul >
< / li >
< / ul >
< / li >
< / ul >
< footer > Copyright (c) 2023 Toby Mao< / footer >
< a class = "attribution" title = "pdoc: Python API documentation generator" href = "https://pdoc.dev" target = "_blank" >
built with < span class = "visually-hidden" > pdoc< / span > < img
alt="pdoc logo"
src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A//www.w3.org/2000/svg%22%20role%3D%22img%22%20aria-label%3D%22pdoc%20logo%22%20width%3D%22300%22%20height%3D%22150%22%20viewBox%3D%22-1%200%2060%2030%22%3E%3Ctitle%3Epdoc%3C/title%3E%3Cpath%20d%3D%22M29.621%2021.293c-.011-.273-.214-.475-.511-.481a.5.5%200%200%200-.489.503l-.044%201.393c-.097.551-.695%201.215-1.566%201.704-.577.428-1.306.486-2.193.182-1.426-.617-2.467-1.654-3.304-2.487l-.173-.172a3.43%203.43%200%200%200-.365-.306.49.49%200%200%200-.286-.196c-1.718-1.06-4.931-1.47-7.353.191l-.219.15c-1.707%201.187-3.413%202.131-4.328%201.03-.02-.027-.49-.685-.141-1.763.233-.721.546-2.408.772-4.076.042-.09.067-.187.046-.288.166-1.347.277-2.625.241-3.351%201.378-1.008%202.271-2.586%202.271-4.362%200-.976-.272-1.935-.788-2.774-.057-.094-.122-.18-.184-.268.033-.167.052-.339.052-.516%200-1.477-1.202-2.679-2.679-2.679-.791%200-1.496.352-1.987.9a6.3%206.3%200%200%200-1.001.029c-.492-.564-1.207-.929-2.012-.929-1.477%200-2.679%201.202-2.679%202.679A2.65%202.65%200%200%200%20.97%206.554c-.383.747-.595%201.572-.595%202.41%200%202.311%201.507%204.29%203.635%205.107-.037.699-.147%202.27-.423%203.294l-.137.461c-.622%202.042-2.515%208.257%201.727%2010.643%201.614.908%203.06%201.248%204.317%201.248%202.665%200%204.492-1.524%205.322-2.401%201.476-1.559%202.886-1.854%206.491.82%201.877%201.393%203.514%201.753%204.861%201.068%202.223-1.713%202.811-3.867%203.399-6.374.077-.846.056-1.469.054-1.537zm-4.835%204.313c-.054.305-.156.586-.242.629-.034-.007-.131-.022-.307-.157-.145-.111-.314-.478-.456-.908.221.121.432.25.675.355.115.039.219.051.33.081zm-2.251-1.238c-.05.33-.158.648-.252.694-.022.001-.125-.018-.307-.157-.217-.166-.488-.906-.639-1.573.358.344.754.693%201.198%201.036zm-3.887-2.337c-.006-.116-.018-.231-.041-.342.635.145%201.189.368%201.599.625.097.231.166.481.174.642-.03.049-.055.101-.067.158-.046.013-.128.026-.298.004-.278-.037-.901-.57-1.367-1.087zm-1.127-.497c.116.306.176.625.12.71-.019.014-.117.045-.345.016-.206-.027-.604-.332-.986-.695.41-.051.816-.056%201.211-.031zm-4.535%201.535c.209.22.379.47.358.598-.006.041-.088.138-.351.234-.144.055-.539-.063-.979-.259a11.66%2011.66%200%200%200%20.972-.573zm.983-.664c.359-.237.738-.418%201.126-.554.25.237.479.548.457.694-.006.042-.087.138-.351.235-.174.064-.694-.105-1.232-.375zm-3.381%201.794c-.022.145-.061.29-.149.401-.133.166-.358.248-.69.251h-.002c-.133%200-.306-.26-.45-.621.417.091.854.07%201.291-.031zm-2.066-8.077a4.78%204.78%200%200%201-.775-.584c.172-.115.505-.254.88-.378l-.105.962zm-.331%202.302a10.32%2010.32%200%200%201-.828-.502c.202-.143.576-.328.984-.49l-.156.992zm-.45%202.157l-.701-.403c.214-.115.536-.249.891-.376a11.57%2011.57%200%200%201-.19.779zm-.181%201.716c.064.398.194.702.298.893-.194-.051-.435-.162-.736-.398.061-.119.224-.3.438-.495zM8.87%204.141c0%20.152-.123.276-.276.276s-.275-.124-.275-.276.123-.276.276-.276.275.124.275.276zm-.735-.389a1.15%201.15%200%200%200-.314.783%201.16%201.16%200%200%200%201.162%201.162c.457%200%20.842-.27%201.032-.653.026.117.042.238.042.362a1.68%201.68%200%200%201-1.679%201.679%201.68%201.68%200%200%201-1.679-1.679c0-.843.626-1.535%201.436-1.654zM5.059%205.406A1.68%201.68%200%200%201%203.38%207.085a1.68%201.68%200%200%201-1.679-1.679c0-.037.009-.072.011-.109.21.3.541.508.935.508a1.16%201.16%200%200%200%201.162-1.162%201.14%201.14%200%200%200-.474-.912c.015%200%20.03-.005.045-.005.926.001%201.679.754%201.679%201.68zM3.198%204.141c0%20.152-.123.276-.276.276s-.275-.124-.275-.276.123-.276.276-.276.275.124.275.276zM1.375%208.964c0-.52.103-1.035.288-1.52.466.394%201.06.64%201.717.64%201.144%200%202.116-.725%202.499-1.738.383%201.012%201.355%201.738%202.499%201.738.867%200%201.631-.421%202.121-1.062.307.605.478%201.267.478%201.942%200%202.486-2.153%204.51-4.801%204.51s-4.801-2.023-4.801-4.51zm24.342%2019.349c-.985.498-2.267.168-3.813-.979-3.073-2.281-5.453-3.199-7.813-.705-1.315%201.391-4.163%203.365-8.423.97-3.174-1.786-2.239-6.266-1.261-9.479l.146-.492c.276-1.02.395-2.457.444-3.268a6.11%206.11%200%200%200%201.18.115%206.01%206.01%200%200%200%202.536-.562l-.006.175c-.802.215-1.848.612
< / a >
< / div >
< / nav >
< main class = "pdoc" >
< section class = "module-info" >
< a class = "pdoc-button git-button" href = "https://github.com/tobymao/sqlglot/tree/main/sqlglot/dialects/spark2.py" > Edit on GitHub< / a >
< h1 class = "modulename" >
< a href = "./../../sqlglot.html" > sqlglot< / a > < wbr > .< a href = "./../dialects.html" > dialects< / a > < wbr > .spark2 < / h1 >
< input id = "mod-spark2-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< label class = "view-source-button" for = "mod-spark2-view-source" > < span > View Source< / span > < / label >
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "L-1" > < a href = "#L-1" > < span class = "linenos" > 1< / span > < / a > < span class = "kn" > from< / span > < span class = "nn" > __future__< / span > < span class = "kn" > import< / span > < span class = "n" > annotations< / span >
< / span > < span id = "L-2" > < a href = "#L-2" > < span class = "linenos" > 2< / span > < / a >
< / span > < span id = "L-3" > < a href = "#L-3" > < span class = "linenos" > 3< / span > < / a > < span class = "kn" > import< / span > < span class = "nn" > typing< / span > < span class = "k" > as< / span > < span class = "nn" > t< / span >
< / span > < span id = "L-4" > < a href = "#L-4" > < span class = "linenos" > 4< / span > < / a >
2025-02-13 15:56:32 +01:00
< / span > < span id = "L-5" > < a href = "#L-5" > < span class = "linenos" > 5< / span > < / a > < span class = "kn" > from< / span > < span class = "nn" > sqlglot< / span > < span class = "kn" > import< / span > < span class = "n" > exp< / span > < span class = "p" > ,< / span > < span class = "n" > parser< / span > < span class = "p" > ,< / span > < span class = "n" > transforms< / span >
< / span > < span id = "L-6" > < a href = "#L-6" > < span class = "linenos" > 6< / span > < / a > < span class = "kn" > from< / span > < span class = "nn" > sqlglot.dialects.dialect< / span > < span class = "kn" > import< / span > < span class = "p" > (< / span >
< / span > < span id = "L-7" > < a href = "#L-7" > < span class = "linenos" > 7< / span > < / a > < span class = "n" > create_with_partitions_sql< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-8" > < a href = "#L-8" > < span class = "linenos" > 8< / span > < / a > < span class = "n" > pivot_column_names< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-9" > < a href = "#L-9" > < span class = "linenos" > 9< / span > < / a > < span class = "n" > rename_func< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-10" > < a href = "#L-10" > < span class = "linenos" > 10< / span > < / a > < span class = "n" > trim_sql< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-11" > < a href = "#L-11" > < span class = "linenos" > 11< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-12" > < a href = "#L-12" > < span class = "linenos" > 12< / span > < / a > < span class = "kn" > from< / span > < span class = "nn" > sqlglot.dialects.hive< / span > < span class = "kn" > import< / span > < span class = "n" > Hive< / span >
< / span > < span id = "L-13" > < a href = "#L-13" > < span class = "linenos" > 13< / span > < / a > < span class = "kn" > from< / span > < span class = "nn" > sqlglot.helper< / span > < span class = "kn" > import< / span > < span class = "n" > seq_get< / span >
2025-02-13 15:52:54 +01:00
< / span > < span id = "L-14" > < a href = "#L-14" > < span class = "linenos" > 14< / span > < / a >
2025-02-13 15:56:32 +01:00
< / span > < span id = "L-15" > < a href = "#L-15" > < span class = "linenos" > 15< / span > < / a >
< / span > < span id = "L-16" > < a href = "#L-16" > < span class = "linenos" > 16< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _create_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Create< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-17" > < a href = "#L-17" > < span class = "linenos" > 17< / span > < / a > < span class = "n" > kind< / span > < span class = "o" > =< / span > < span class = "n" > e< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "s2" > " kind" < / span > < span class = "p" > ]< / span >
< / span > < span id = "L-18" > < a href = "#L-18" > < span class = "linenos" > 18< / span > < / a > < span class = "n" > properties< / span > < span class = "o" > =< / span > < span class = "n" > e< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " properties" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-19" > < a href = "#L-19" > < span class = "linenos" > 19< / span > < / a >
< / span > < span id = "L-20" > < a href = "#L-20" > < span class = "linenos" > 20< / span > < / a > < span class = "k" > if< / span > < span class = "n" > kind< / span > < span class = "o" > .< / span > < span class = "n" > upper< / span > < span class = "p" > ()< / span > < span class = "o" > ==< / span > < span class = "s2" > " TABLE" < / span > < span class = "ow" > and< / span > < span class = "nb" > any< / span > < span class = "p" > (< / span >
< / span > < span id = "L-21" > < a href = "#L-21" > < span class = "linenos" > 21< / span > < / a > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > prop< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TemporaryProperty< / span > < span class = "p" > )< / span >
< / span > < span id = "L-22" > < a href = "#L-22" > < span class = "linenos" > 22< / span > < / a > < span class = "k" > for< / span > < span class = "n" > prop< / span > < span class = "ow" > in< / span > < span class = "p" > (< / span > < span class = "n" > properties< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "k" > if< / span > < span class = "n" > properties< / span > < span class = "k" > else< / span > < span class = "p" > [])< / span >
< / span > < span id = "L-23" > < a href = "#L-23" > < span class = "linenos" > 23< / span > < / a > < span class = "p" > ):< / span >
< / span > < span id = "L-24" > < a href = "#L-24" > < span class = "linenos" > 24< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " CREATE TEMPORARY VIEW < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' this' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > AS < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' expression' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > " < / span >
< / span > < span id = "L-25" > < a href = "#L-25" > < span class = "linenos" > 25< / span > < / a > < span class = "k" > return< / span > < span class = "n" > create_with_partitions_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > )< / span >
< / span > < span id = "L-26" > < a href = "#L-26" > < span class = "linenos" > 26< / span > < / a >
2025-02-13 15:52:54 +01:00
< / span > < span id = "L-27" > < a href = "#L-27" > < span class = "linenos" > 27< / span > < / a >
2025-02-13 15:56:32 +01:00
< / span > < span id = "L-28" > < a href = "#L-28" > < span class = "linenos" > 28< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _map_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Map< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-29" > < a href = "#L-29" > < span class = "linenos" > 29< / span > < / a > < span class = "n" > keys< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "s2" > " keys" < / span > < span class = "p" > ])< / span >
< / span > < span id = "L-30" > < a href = "#L-30" > < span class = "linenos" > 30< / span > < / a > < span class = "n" > values< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "s2" > " values" < / span > < span class = "p" > ])< / span >
< / span > < span id = "L-31" > < a href = "#L-31" > < span class = "linenos" > 31< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " MAP_FROM_ARRAYS(< / span > < span class = "si" > {< / span > < span class = "n" > keys< / span > < span class = "si" > }< / span > < span class = "s2" > , < / span > < span class = "si" > {< / span > < span class = "n" > values< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span >
2025-02-13 15:52:54 +01:00
< / span > < span id = "L-32" > < a href = "#L-32" > < span class = "linenos" > 32< / span > < / a >
2025-02-13 15:56:32 +01:00
< / span > < span id = "L-33" > < a href = "#L-33" > < span class = "linenos" > 33< / span > < / a >
< / span > < span id = "L-34" > < a href = "#L-34" > < span class = "linenos" > 34< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "n" > to_type< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Callable< / span > < span class = "p" > [[< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > ],< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ]:< / span >
< / span > < span id = "L-35" > < a href = "#L-35" > < span class = "linenos" > 35< / span > < / a > < span class = "k" > return< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Cast< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > ),< / span > < span class = "n" > to< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DataType< / span > < span class = "o" > .< / span > < span class = "n" > build< / span > < span class = "p" > (< / span > < span class = "n" > to_type< / span > < span class = "p" > ))< / span >
< / span > < span id = "L-36" > < a href = "#L-36" > < span class = "linenos" > 36< / span > < / a >
< / span > < span id = "L-37" > < a href = "#L-37" > < span class = "linenos" > 37< / span > < / a >
< / span > < span id = "L-38" > < a href = "#L-38" > < span class = "linenos" > 38< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _str_to_date< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrToDate< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-39" > < a href = "#L-39" > < span class = "linenos" > 39< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " this" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-40" > < a href = "#L-40" > < span class = "linenos" > 40< / span > < / a > < span class = "n" > time_format< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > format_time< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
2025-02-13 16:00:14 +01:00
< / span > < span id = "L-41" > < a href = "#L-41" > < span class = "linenos" > 41< / span > < / a > < span class = "k" > if< / span > < span class = "n" > time_format< / span > < span class = "o" > ==< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > DATE_FORMAT< / span > < span class = "p" > :< / span >
2025-02-13 15:56:32 +01:00
< / span > < span id = "L-42" > < a href = "#L-42" > < span class = "linenos" > 42< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " TO_DATE(< / span > < span class = "si" > {< / span > < span class = "n" > this< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span >
< / span > < span id = "L-43" > < a href = "#L-43" > < span class = "linenos" > 43< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " TO_DATE(< / span > < span class = "si" > {< / span > < span class = "n" > this< / span > < span class = "si" > }< / span > < span class = "s2" > , < / span > < span class = "si" > {< / span > < span class = "n" > time_format< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span >
< / span > < span id = "L-44" > < a href = "#L-44" > < span class = "linenos" > 44< / span > < / a >
< / span > < span id = "L-45" > < a href = "#L-45" > < span class = "linenos" > 45< / span > < / a >
< / span > < span id = "L-46" > < a href = "#L-46" > < span class = "linenos" > 46< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _unix_to_time_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > UnixToTime< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-47" > < a href = "#L-47" > < span class = "linenos" > 47< / span > < / a > < span class = "n" > scale< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " scale" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-48" > < a href = "#L-48" > < span class = "linenos" > 48< / span > < / a > < span class = "n" > timestamp< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "s2" > " this" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-49" > < a href = "#L-49" > < span class = "linenos" > 49< / span > < / a > < span class = "k" > if< / span > < span class = "n" > scale< / span > < span class = "ow" > is< / span > < span class = "kc" > None< / span > < span class = "p" > :< / span >
< / span > < span id = "L-50" > < a href = "#L-50" > < span class = "linenos" > 50< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " CAST(FROM_UNIXTIME(< / span > < span class = "si" > {< / span > < span class = "n" > timestamp< / span > < span class = "si" > }< / span > < span class = "s2" > ) AS TIMESTAMP)" < / span >
< / span > < span id = "L-51" > < a href = "#L-51" > < span class = "linenos" > 51< / span > < / a > < span class = "k" > if< / span > < span class = "n" > scale< / span > < span class = "o" > ==< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > UnixToTime< / span > < span class = "o" > .< / span > < span class = "n" > SECONDS< / span > < span class = "p" > :< / span >
< / span > < span id = "L-52" > < a href = "#L-52" > < span class = "linenos" > 52< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " TIMESTAMP_SECONDS(< / span > < span class = "si" > {< / span > < span class = "n" > timestamp< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span >
< / span > < span id = "L-53" > < a href = "#L-53" > < span class = "linenos" > 53< / span > < / a > < span class = "k" > if< / span > < span class = "n" > scale< / span > < span class = "o" > ==< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > UnixToTime< / span > < span class = "o" > .< / span > < span class = "n" > MILLIS< / span > < span class = "p" > :< / span >
< / span > < span id = "L-54" > < a href = "#L-54" > < span class = "linenos" > 54< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " TIMESTAMP_MILLIS(< / span > < span class = "si" > {< / span > < span class = "n" > timestamp< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span >
< / span > < span id = "L-55" > < a href = "#L-55" > < span class = "linenos" > 55< / span > < / a > < span class = "k" > if< / span > < span class = "n" > scale< / span > < span class = "o" > ==< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > UnixToTime< / span > < span class = "o" > .< / span > < span class = "n" > MICROS< / span > < span class = "p" > :< / span >
< / span > < span id = "L-56" > < a href = "#L-56" > < span class = "linenos" > 56< / span > < / a > < span class = "k" > return< / span > < span class = "sa" > f< / span > < span class = "s2" > " TIMESTAMP_MICROS(< / span > < span class = "si" > {< / span > < span class = "n" > timestamp< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span >
< / span > < span id = "L-57" > < a href = "#L-57" > < span class = "linenos" > 57< / span > < / a >
< / span > < span id = "L-58" > < a href = "#L-58" > < span class = "linenos" > 58< / span > < / a > < span class = "k" > raise< / span > < span class = "ne" > ValueError< / span > < span class = "p" > (< / span > < span class = "s2" > " Improper scale for timestamp" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-59" > < a href = "#L-59" > < span class = "linenos" > 59< / span > < / a >
< / span > < span id = "L-60" > < a href = "#L-60" > < span class = "linenos" > 60< / span > < / a >
< / span > < span id = "L-61" > < a href = "#L-61" > < span class = "linenos" > 61< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _unalias_pivot< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > :< / span >
< / span > < span id = "L-62" > < a href = "#L-62" > < span class = "linenos" > 62< / span > < / a > < span class = "w" > < / span > < span class = "sd" > " " " < / span >
< / span > < span id = "L-63" > < a href = "#L-63" > < span class = "linenos" > 63< / span > < / a > < span class = "sd" > Spark doesn' t allow PIVOT aliases, so we need to remove them and possibly wrap a< / span >
< / span > < span id = "L-64" > < a href = "#L-64" > < span class = "linenos" > 64< / span > < / a > < span class = "sd" > pivoted source in a subquery with the same alias to preserve the query' s semantics.< / span >
< / span > < span id = "L-65" > < a href = "#L-65" > < span class = "linenos" > 65< / span > < / a >
< / span > < span id = "L-66" > < a href = "#L-66" > < span class = "linenos" > 66< / span > < / a > < span class = "sd" > Example:< / span >
< / span > < span id = "L-67" > < a href = "#L-67" > < span class = "linenos" > 67< / span > < / a > < span class = "sd" > > > > from sqlglot import parse_one< / span >
< / span > < span id = "L-68" > < a href = "#L-68" > < span class = "linenos" > 68< / span > < / a > < span class = "sd" > > > > expr = parse_one(" SELECT piv.x FROM tbl PIVOT (SUM(a) FOR b IN (' x' )) piv" )< / span >
< / span > < span id = "L-69" > < a href = "#L-69" > < span class = "linenos" > 69< / span > < / a > < span class = "sd" > > > > print(_unalias_pivot(expr).sql(dialect=" spark" ))< / span >
< / span > < span id = "L-70" > < a href = "#L-70" > < span class = "linenos" > 70< / span > < / a > < span class = "sd" > SELECT piv.x FROM (SELECT * FROM tbl PIVOT(SUM(a) FOR b IN (' x' ))) AS piv< / span >
< / span > < span id = "L-71" > < a href = "#L-71" > < span class = "linenos" > 71< / span > < / a > < span class = "sd" > " " " < / span >
< / span > < span id = "L-72" > < a href = "#L-72" > < span class = "linenos" > 72< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > From< / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " pivots" < / span > < span class = "p" > ):< / span >
< / span > < span id = "L-73" > < a href = "#L-73" > < span class = "linenos" > 73< / span > < / a > < span class = "n" > pivot< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "s2" > " pivots" < / span > < span class = "p" > ][< / span > < span class = "mi" > 0< / span > < span class = "p" > ]< / span >
< / span > < span id = "L-74" > < a href = "#L-74" > < span class = "linenos" > 74< / span > < / a > < span class = "k" > if< / span > < span class = "n" > pivot< / span > < span class = "o" > .< / span > < span class = "n" > alias< / span > < span class = "p" > :< / span >
< / span > < span id = "L-75" > < a href = "#L-75" > < span class = "linenos" > 75< / span > < / a > < span class = "n" > alias< / span > < span class = "o" > =< / span > < span class = "n" > pivot< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "s2" > " alias" < / span > < span class = "p" > ]< / span > < span class = "o" > .< / span > < span class = "n" > pop< / span > < span class = "p" > ()< / span >
< / span > < span id = "L-76" > < a href = "#L-76" > < span class = "linenos" > 76< / span > < / a > < span class = "k" > return< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > From< / span > < span class = "p" > (< / span >
< / span > < span id = "L-77" > < a href = "#L-77" > < span class = "linenos" > 77< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > replace< / span > < span class = "p" > (< / span >
< / span > < span id = "L-78" > < a href = "#L-78" > < span class = "linenos" > 78< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > select< / span > < span class = "p" > (< / span > < span class = "s2" > " *" < / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > from_< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > copy< / span > < span class = "p" > ())< / span > < span class = "o" > .< / span > < span class = "n" > subquery< / span > < span class = "p" > (< / span > < span class = "n" > alias< / span > < span class = "o" > =< / span > < span class = "n" > alias< / span > < span class = "p" > )< / span >
< / span > < span id = "L-79" > < a href = "#L-79" > < span class = "linenos" > 79< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-80" > < a href = "#L-80" > < span class = "linenos" > 80< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-81" > < a href = "#L-81" > < span class = "linenos" > 81< / span > < / a >
< / span > < span id = "L-82" > < a href = "#L-82" > < span class = "linenos" > 82< / span > < / a > < span class = "k" > return< / span > < span class = "n" > expression< / span >
< / span > < span id = "L-83" > < a href = "#L-83" > < span class = "linenos" > 83< / span > < / a >
< / span > < span id = "L-84" > < a href = "#L-84" > < span class = "linenos" > 84< / span > < / a >
< / span > < span id = "L-85" > < a href = "#L-85" > < span class = "linenos" > 85< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _unqualify_pivot_columns< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > :< / span >
< / span > < span id = "L-86" > < a href = "#L-86" > < span class = "linenos" > 86< / span > < / a > < span class = "w" > < / span > < span class = "sd" > " " " < / span >
< / span > < span id = "L-87" > < a href = "#L-87" > < span class = "linenos" > 87< / span > < / a > < span class = "sd" > Spark doesn' t allow the column referenced in the PIVOT' s field to be qualified,< / span >
< / span > < span id = "L-88" > < a href = "#L-88" > < span class = "linenos" > 88< / span > < / a > < span class = "sd" > so we need to unqualify it.< / span >
< / span > < span id = "L-89" > < a href = "#L-89" > < span class = "linenos" > 89< / span > < / a >
< / span > < span id = "L-90" > < a href = "#L-90" > < span class = "linenos" > 90< / span > < / a > < span class = "sd" > Example:< / span >
< / span > < span id = "L-91" > < a href = "#L-91" > < span class = "linenos" > 91< / span > < / a > < span class = "sd" > > > > from sqlglot import parse_one< / span >
< / span > < span id = "L-92" > < a href = "#L-92" > < span class = "linenos" > 92< / span > < / a > < span class = "sd" > > > > expr = parse_one(" SELECT * FROM tbl PIVOT (SUM(tbl.sales) FOR tbl.quarter IN (' Q1' , ' Q2' ))" )< / span >
< / span > < span id = "L-93" > < a href = "#L-93" > < span class = "linenos" > 93< / span > < / a > < span class = "sd" > > > > print(_unqualify_pivot_columns(expr).sql(dialect=" spark" ))< / span >
< / span > < span id = "L-94" > < a href = "#L-94" > < span class = "linenos" > 94< / span > < / a > < span class = "sd" > SELECT * FROM tbl PIVOT(SUM(tbl.sales) FOR quarter IN (' Q1' , ' Q1' ))< / span >
< / span > < span id = "L-95" > < a href = "#L-95" > < span class = "linenos" > 95< / span > < / a > < span class = "sd" > " " " < / span >
< / span > < span id = "L-96" > < a href = "#L-96" > < span class = "linenos" > 96< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Pivot< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-97" > < a href = "#L-97" > < span class = "linenos" > 97< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "p" > [< / span > < span class = "s2" > " field" < / span > < span class = "p" > ]< / span > < span class = "o" > .< / span > < span class = "n" > transform< / span > < span class = "p" > (< / span >
< / span > < span id = "L-98" > < a href = "#L-98" > < span class = "linenos" > 98< / span > < / a > < span class = "k" > lambda< / span > < span class = "n" > node< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > column< / span > < span class = "p" > (< / span > < span class = "n" > node< / span > < span class = "o" > .< / span > < span class = "n" > output_name< / span > < span class = "p" > ,< / span > < span class = "n" > quoted< / span > < span class = "o" > =< / span > < span class = "n" > node< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > quoted< / span > < span class = "p" > )< / span >
< / span > < span id = "L-99" > < a href = "#L-99" > < span class = "linenos" > 99< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > node< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Column< / span > < span class = "p" > )< / span >
< / span > < span id = "L-100" > < a href = "#L-100" > < span class = "linenos" > 100< / span > < / a > < span class = "k" > else< / span > < span class = "n" > node< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-101" > < a href = "#L-101" > < span class = "linenos" > 101< / span > < / a > < span class = "n" > copy< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-102" > < a href = "#L-102" > < span class = "linenos" > 102< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-103" > < a href = "#L-103" > < span class = "linenos" > 103< / span > < / a >
< / span > < span id = "L-104" > < a href = "#L-104" > < span class = "linenos" > 104< / span > < / a > < span class = "k" > return< / span > < span class = "n" > expression< / span >
< / span > < span id = "L-105" > < a href = "#L-105" > < span class = "linenos" > 105< / span > < / a >
< / span > < span id = "L-106" > < a href = "#L-106" > < span class = "linenos" > 106< / span > < / a >
< / span > < span id = "L-107" > < a href = "#L-107" > < span class = "linenos" > 107< / span > < / a > < span class = "k" > class< / span > < span class = "nc" > Spark2< / span > < span class = "p" > (< / span > < span class = "n" > Hive< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-108" > < a href = "#L-108" > < span class = "linenos" > 108< / span > < / a > < span class = "k" > class< / span > < span class = "nc" > Parser< / span > < span class = "p" > (< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Parser< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-109" > < a href = "#L-109" > < span class = "linenos" > 109< / span > < / a > < span class = "n" > FUNCTIONS< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
< / span > < span id = "L-110" > < a href = "#L-110" > < span class = "linenos" > 110< / span > < / a > < span class = "o" > **< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Parser< / span > < span class = "o" > .< / span > < span class = "n" > FUNCTIONS< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-111" > < a href = "#L-111" > < span class = "linenos" > 111< / span > < / a > < span class = "s2" > " MAP_FROM_ARRAYS" < / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Map< / span > < span class = "o" > .< / span > < span class = "n" > from_arg_list< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-112" > < a href = "#L-112" > < span class = "linenos" > 112< / span > < / a > < span class = "s2" > " TO_UNIX_TIMESTAMP" < / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrToUnix< / span > < span class = "o" > .< / span > < span class = "n" > from_arg_list< / span > < span class = "p" > ,< / span >
2025-02-13 15:58:03 +01:00
< / span > < span id = "L-113" > < a href = "#L-113" > < span class = "linenos" > 113< / span > < / a > < span class = "s2" > " SHIFTLEFT" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > BitwiseLeftShift< / span > < span class = "p" > (< / span >
2025-02-13 15:56:32 +01:00
< / span > < span id = "L-114" > < a href = "#L-114" > < span class = "linenos" > 114< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > ),< / span >
2025-02-13 15:58:03 +01:00
< / span > < span id = "L-115" > < a href = "#L-115" > < span class = "linenos" > 115< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span >
< / span > < span id = "L-116" > < a href = "#L-116" > < span class = "linenos" > 116< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "L-117" > < a href = "#L-117" > < span class = "linenos" > 117< / span > < / a > < span class = "s2" > " SHIFTRIGHT" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > BitwiseRightShift< / span > < span class = "p" > (< / span >
< / span > < span id = "L-118" > < a href = "#L-118" > < span class = "linenos" > 118< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > ),< / span >
< / span > < span id = "L-119" > < a href = "#L-119" > < span class = "linenos" > 119< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span >
< / span > < span id = "L-120" > < a href = "#L-120" > < span class = "linenos" > 120< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "L-121" > < a href = "#L-121" > < span class = "linenos" > 121< / span > < / a > < span class = "s2" > " APPROX_PERCENTILE" < / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ApproxQuantile< / span > < span class = "o" > .< / span > < span class = "n" > from_arg_list< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-122" > < a href = "#L-122" > < span class = "linenos" > 122< / span > < / a > < span class = "s2" > " IIF" < / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > If< / span > < span class = "o" > .< / span > < span class = "n" > from_arg_list< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-123" > < a href = "#L-123" > < span class = "linenos" > 123< / span > < / a > < span class = "s2" > " AGGREGATE" < / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Reduce< / span > < span class = "o" > .< / span > < span class = "n" > from_arg_list< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-124" > < a href = "#L-124" > < span class = "linenos" > 124< / span > < / a > < span class = "s2" > " DAYOFWEEK" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DayOfWeek< / span > < span class = "p" > (< / span >
< / span > < span id = "L-125" > < a href = "#L-125" > < span class = "linenos" > 125< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TsOrDsToDate< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )),< / span >
< / span > < span id = "L-126" > < a href = "#L-126" > < span class = "linenos" > 126< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "L-127" > < a href = "#L-127" > < span class = "linenos" > 127< / span > < / a > < span class = "s2" > " DAYOFMONTH" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DayOfMonth< / span > < span class = "p" > (< / span >
< / span > < span id = "L-128" > < a href = "#L-128" > < span class = "linenos" > 128< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TsOrDsToDate< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )),< / span >
< / span > < span id = "L-129" > < a href = "#L-129" > < span class = "linenos" > 129< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "L-130" > < a href = "#L-130" > < span class = "linenos" > 130< / span > < / a > < span class = "s2" > " DAYOFYEAR" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DayOfYear< / span > < span class = "p" > (< / span >
< / span > < span id = "L-131" > < a href = "#L-131" > < span class = "linenos" > 131< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TsOrDsToDate< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )),< / span >
< / span > < span id = "L-132" > < a href = "#L-132" > < span class = "linenos" > 132< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "L-133" > < a href = "#L-133" > < span class = "linenos" > 133< / span > < / a > < span class = "s2" > " WEEKOFYEAR" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > WeekOfYear< / span > < span class = "p" > (< / span >
< / span > < span id = "L-134" > < a href = "#L-134" > < span class = "linenos" > 134< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TsOrDsToDate< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )),< / span >
< / span > < span id = "L-135" > < a href = "#L-135" > < span class = "linenos" > 135< / span > < / a > < span class = "p" > ),< / span >
2025-02-13 16:00:14 +01:00
< / span > < span id = "L-136" > < a href = "#L-136" > < span class = "linenos" > 136< / span > < / a > < span class = "s2" > " DATE_TRUNC" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TimestampTrunc< / span > < span class = "p" > (< / span >
< / span > < span id = "L-137" > < a href = "#L-137" > < span class = "linenos" > 137< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span >
< / span > < span id = "L-138" > < a href = "#L-138" > < span class = "linenos" > 138< / span > < / a > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > var< / span > < span class = "p" > (< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )),< / span >
< / span > < span id = "L-139" > < a href = "#L-139" > < span class = "linenos" > 139< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "L-140" > < a href = "#L-140" > < span class = "linenos" > 140< / span > < / a > < span class = "s2" > " TRUNC" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DateTrunc< / span > < span class = "p" > (< / span > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )),< / span >
< / span > < span id = "L-141" > < a href = "#L-141" > < span class = "linenos" > 141< / span > < / a > < span class = "s2" > " BOOLEAN" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " boolean" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-142" > < a href = "#L-142" > < span class = "linenos" > 142< / span > < / a > < span class = "s2" > " DATE" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " date" < / span > < span class = "p" > ),< / span >
2025-02-13 15:58:03 +01:00
< / span > < span id = "L-143" > < a href = "#L-143" > < span class = "linenos" > 143< / span > < / a > < span class = "s2" > " DOUBLE" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " double" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-144" > < a href = "#L-144" > < span class = "linenos" > 144< / span > < / a > < span class = "s2" > " FLOAT" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " float" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-145" > < a href = "#L-145" > < span class = "linenos" > 145< / span > < / a > < span class = "s2" > " INT" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " int" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-146" > < a href = "#L-146" > < span class = "linenos" > 146< / span > < / a > < span class = "s2" > " STRING" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " string" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-147" > < a href = "#L-147" > < span class = "linenos" > 147< / span > < / a > < span class = "s2" > " TIMESTAMP" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " timestamp" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-148" > < a href = "#L-148" > < span class = "linenos" > 148< / span > < / a > < span class = "p" > }< / span >
< / span > < span id = "L-149" > < a href = "#L-149" > < span class = "linenos" > 149< / span > < / a >
< / span > < span id = "L-150" > < a href = "#L-150" > < span class = "linenos" > 150< / span > < / a > < span class = "n" > FUNCTION_PARSERS< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
< / span > < span id = "L-151" > < a href = "#L-151" > < span class = "linenos" > 151< / span > < / a > < span class = "o" > **< / span > < span class = "n" > parser< / span > < span class = "o" > .< / span > < span class = "n" > Parser< / span > < span class = "o" > .< / span > < span class = "n" > FUNCTION_PARSERS< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-152" > < a href = "#L-152" > < span class = "linenos" > 152< / span > < / a > < span class = "s2" > " BROADCAST" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " BROADCAST" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-153" > < a href = "#L-153" > < span class = "linenos" > 153< / span > < / a > < span class = "s2" > " BROADCASTJOIN" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " BROADCASTJOIN" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-154" > < a href = "#L-154" > < span class = "linenos" > 154< / span > < / a > < span class = "s2" > " MAPJOIN" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " MAPJOIN" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-155" > < a href = "#L-155" > < span class = "linenos" > 155< / span > < / a > < span class = "s2" > " MERGE" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " MERGE" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-156" > < a href = "#L-156" > < span class = "linenos" > 156< / span > < / a > < span class = "s2" > " SHUFFLEMERGE" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " SHUFFLEMERGE" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-157" > < a href = "#L-157" > < span class = "linenos" > 157< / span > < / a > < span class = "s2" > " MERGEJOIN" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " MERGEJOIN" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-158" > < a href = "#L-158" > < span class = "linenos" > 158< / span > < / a > < span class = "s2" > " SHUFFLE_HASH" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " SHUFFLE_HASH" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-159" > < a href = "#L-159" > < span class = "linenos" > 159< / span > < / a > < span class = "s2" > " SHUFFLE_REPLICATE_NL" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " SHUFFLE_REPLICATE_NL" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-160" > < a href = "#L-160" > < span class = "linenos" > 160< / span > < / a > < span class = "p" > }< / span >
< / span > < span id = "L-161" > < a href = "#L-161" > < span class = "linenos" > 161< / span > < / a >
< / span > < span id = "L-162" > < a href = "#L-162" > < span class = "linenos" > 162< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _parse_add_column< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ]:< / span >
< / span > < span id = "L-163" > < a href = "#L-163" > < span class = "linenos" > 163< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _match_text_seq< / span > < span class = "p" > (< / span > < span class = "s2" > " ADD" < / span > < span class = "p" > ,< / span > < span class = "s2" > " COLUMNS" < / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_schema< / span > < span class = "p" > ()< / span >
< / span > < span id = "L-164" > < a href = "#L-164" > < span class = "linenos" > 164< / span > < / a >
2025-02-13 16:00:14 +01:00
< / span > < span id = "L-165" > < a href = "#L-165" > < span class = "linenos" > 165< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _parse_drop_column< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Drop< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Command< / span > < span class = "p" > ]:< / span >
2025-02-13 15:58:03 +01:00
< / span > < span id = "L-166" > < a href = "#L-166" > < span class = "linenos" > 166< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _match_text_seq< / span > < span class = "p" > (< / span > < span class = "s2" > " DROP" < / span > < span class = "p" > ,< / span > < span class = "s2" > " COLUMNS" < / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "p" > (< / span >
2025-02-13 16:00:14 +01:00
< / span > < span id = "L-167" > < a href = "#L-167" > < span class = "linenos" > 167< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Drop< / span > < span class = "p" > ,< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_schema< / span > < span class = "p" > (),< / span > < span class = "n" > kind< / span > < span class = "o" > =< / span > < span class = "s2" > " COLUMNS" < / span >
< / span > < span id = "L-168" > < a href = "#L-168" > < span class = "linenos" > 168< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-169" > < a href = "#L-169" > < span class = "linenos" > 169< / span > < / a >
< / span > < span id = "L-170" > < a href = "#L-170" > < span class = "linenos" > 170< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _pivot_column_names< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > aggregations< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ])< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ]:< / span >
< / span > < span id = "L-171" > < a href = "#L-171" > < span class = "linenos" > 171< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > aggregations< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "mi" > 1< / span > < span class = "p" > :< / span >
< / span > < span id = "L-172" > < a href = "#L-172" > < span class = "linenos" > 172< / span > < / a > < span class = "k" > return< / span > < span class = "p" > [< / span > < span class = "s2" > " " < / span > < span class = "p" > ]< / span >
< / span > < span id = "L-173" > < a href = "#L-173" > < span class = "linenos" > 173< / span > < / a > < span class = "k" > return< / span > < span class = "n" > pivot_column_names< / span > < span class = "p" > (< / span > < span class = "n" > aggregations< / span > < span class = "p" > ,< / span > < span class = "n" > dialect< / span > < span class = "o" > =< / span > < span class = "s2" > " spark" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-174" > < a href = "#L-174" > < span class = "linenos" > 174< / span > < / a >
< / span > < span id = "L-175" > < a href = "#L-175" > < span class = "linenos" > 175< / span > < / a > < span class = "k" > class< / span > < span class = "nc" > Generator< / span > < span class = "p" > (< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Generator< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-176" > < a href = "#L-176" > < span class = "linenos" > 176< / span > < / a > < span class = "n" > TYPE_MAPPING< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
< / span > < span id = "L-177" > < a href = "#L-177" > < span class = "linenos" > 177< / span > < / a > < span class = "o" > **< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Generator< / span > < span class = "o" > .< / span > < span class = "n" > TYPE_MAPPING< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-178" > < a href = "#L-178" > < span class = "linenos" > 178< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DataType< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "o" > .< / span > < span class = "n" > TINYINT< / span > < span class = "p" > :< / span > < span class = "s2" > " BYTE" < / span > < span class = "p" > ,< / span >
< / span > < span id = "L-179" > < a href = "#L-179" > < span class = "linenos" > 179< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DataType< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "o" > .< / span > < span class = "n" > SMALLINT< / span > < span class = "p" > :< / span > < span class = "s2" > " SHORT" < / span > < span class = "p" > ,< / span >
< / span > < span id = "L-180" > < a href = "#L-180" > < span class = "linenos" > 180< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DataType< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "o" > .< / span > < span class = "n" > BIGINT< / span > < span class = "p" > :< / span > < span class = "s2" > " LONG" < / span > < span class = "p" > ,< / span >
< / span > < span id = "L-181" > < a href = "#L-181" > < span class = "linenos" > 181< / span > < / a > < span class = "p" > }< / span >
< / span > < span id = "L-182" > < a href = "#L-182" > < span class = "linenos" > 182< / span > < / a >
< / span > < span id = "L-183" > < a href = "#L-183" > < span class = "linenos" > 183< / span > < / a > < span class = "n" > PROPERTIES_LOCATION< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
< / span > < span id = "L-184" > < a href = "#L-184" > < span class = "linenos" > 184< / span > < / a > < span class = "o" > **< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Generator< / span > < span class = "o" > .< / span > < span class = "n" > PROPERTIES_LOCATION< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-185" > < a href = "#L-185" > < span class = "linenos" > 185< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > EngineProperty< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Properties< / span > < span class = "o" > .< / span > < span class = "n" > Location< / span > < span class = "o" > .< / span > < span class = "n" > UNSUPPORTED< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-186" > < a href = "#L-186" > < span class = "linenos" > 186< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > AutoIncrementProperty< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Properties< / span > < span class = "o" > .< / span > < span class = "n" > Location< / span > < span class = "o" > .< / span > < span class = "n" > UNSUPPORTED< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-187" > < a href = "#L-187" > < span class = "linenos" > 187< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > CharacterSetProperty< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Properties< / span > < span class = "o" > .< / span > < span class = "n" > Location< / span > < span class = "o" > .< / span > < span class = "n" > UNSUPPORTED< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-188" > < a href = "#L-188" > < span class = "linenos" > 188< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > CollateProperty< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Properties< / span > < span class = "o" > .< / span > < span class = "n" > Location< / span > < span class = "o" > .< / span > < span class = "n" > UNSUPPORTED< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-189" > < a href = "#L-189" > < span class = "linenos" > 189< / span > < / a > < span class = "p" > }< / span >
< / span > < span id = "L-190" > < a href = "#L-190" > < span class = "linenos" > 190< / span > < / a >
< / span > < span id = "L-191" > < a href = "#L-191" > < span class = "linenos" > 191< / span > < / a > < span class = "n" > TRANSFORMS< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
< / span > < span id = "L-192" > < a href = "#L-192" > < span class = "linenos" > 192< / span > < / a > < span class = "o" > **< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Generator< / span > < span class = "o" > .< / span > < span class = "n" > TRANSFORMS< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-193" > < a href = "#L-193" > < span class = "linenos" > 193< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ApproxDistinct< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " APPROX_COUNT_DISTINCT" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-194" > < a href = "#L-194" > < span class = "linenos" > 194< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ArraySum< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "sa" > f< / span > < span class = "s2" > " AGGREGATE(< / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' this' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > , 0, (acc, x) -> acc + x, acc -> acc)" < / span > < span class = "p" > ,< / span >
< / span > < span id = "L-195" > < a href = "#L-195" > < span class = "linenos" > 195< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > AtTimeZone< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "sa" > f< / span > < span class = "s2" > " FROM_UTC_TIMESTAMP(< / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' this' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > , < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' zone' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span > < span class = "p" > ,< / span >
< / span > < span id = "L-196" > < a href = "#L-196" > < span class = "linenos" > 196< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > BitwiseLeftShift< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " SHIFTLEFT" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-197" > < a href = "#L-197" > < span class = "linenos" > 197< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > BitwiseRightShift< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " SHIFTRIGHT" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-198" > < a href = "#L-198" > < span class = "linenos" > 198< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Create< / span > < span class = "p" > :< / span > < span class = "n" > _create_sql< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-199" > < a href = "#L-199" > < span class = "linenos" > 199< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DateFromParts< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " MAKE_DATE" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-200" > < a href = "#L-200" > < span class = "linenos" > 200< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DateTrunc< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " TRUNC" < / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " unit" < / span > < span class = "p" > )),< / span >
< / span > < span id = "L-201" > < a href = "#L-201" > < span class = "linenos" > 201< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DayOfMonth< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " DAYOFMONTH" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-202" > < a href = "#L-202" > < span class = "linenos" > 202< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DayOfWeek< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " DAYOFWEEK" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-203" > < a href = "#L-203" > < span class = "linenos" > 203< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DayOfYear< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " DAYOFYEAR" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-204" > < a href = "#L-204" > < span class = "linenos" > 204< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > FileFormatProperty< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "sa" > f< / span > < span class = "s2" > " USING < / span > < span class = "si" > {< / span > < span class = "n" > e< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "o" > .< / span > < span class = "n" > upper< / span > < span class = "p" > ()< / span > < span class = "si" > }< / span > < span class = "s2" > " < / span > < span class = "p" > ,< / span >
< / span > < span id = "L-205" > < a href = "#L-205" > < span class = "linenos" > 205< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > From< / span > < span class = "p" > :< / span > < span class = "n" > transforms< / span > < span class = "o" > .< / span > < span class = "n" > preprocess< / span > < span class = "p" > ([< / span > < span class = "n" > _unalias_pivot< / span > < span class = "p" > ]),< / span >
< / span > < span id = "L-206" > < a href = "#L-206" > < span class = "linenos" > 206< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Hint< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "sa" > f< / span > < span class = "s2" > " /*+ < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > strip< / span > < span class = "p" > ()< / span > < span class = "si" > }< / span > < span class = "s2" > */" < / span > < span class = "p" > ,< / span >
< / span > < span id = "L-207" > < a href = "#L-207" > < span class = "linenos" > 207< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > LogicalAnd< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " BOOL_AND" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-208" > < a href = "#L-208" > < span class = "linenos" > 208< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > LogicalOr< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " BOOL_OR" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-209" > < a href = "#L-209" > < span class = "linenos" > 209< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Map< / span > < span class = "p" > :< / span > < span class = "n" > _map_sql< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-210" > < a href = "#L-210" > < span class = "linenos" > 210< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Pivot< / span > < span class = "p" > :< / span > < span class = "n" > transforms< / span > < span class = "o" > .< / span > < span class = "n" > preprocess< / span > < span class = "p" > ([< / span > < span class = "n" > _unqualify_pivot_columns< / span > < span class = "p" > ]),< / span >
< / span > < span id = "L-211" > < a href = "#L-211" > < span class = "linenos" > 211< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Reduce< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " AGGREGATE" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-212" > < a href = "#L-212" > < span class = "linenos" > 212< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrToDate< / span > < span class = "p" > :< / span > < span class = "n" > _str_to_date< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-213" > < a href = "#L-213" > < span class = "linenos" > 213< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrToTime< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "sa" > f< / span > < span class = "s2" > " TO_TIMESTAMP(< / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' this' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > , < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > format_time< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span > < span class = "p" > ,< / span >
< / span > < span id = "L-214" > < a href = "#L-214" > < span class = "linenos" > 214< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TimestampTrunc< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span >
< / span > < span id = "L-215" > < a href = "#L-215" > < span class = "linenos" > 215< / span > < / a > < span class = "s2" > " DATE_TRUNC" < / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Literal< / span > < span class = "o" > .< / span > < span class = "n" > string< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "o" > .< / span > < span class = "n" > text< / span > < span class = "p" > (< / span > < span class = "s2" > " unit" < / span > < span class = "p" > )),< / span > < span class = "n" > e< / span > < span class = "o" > .< / span > < span class = "n" > this< / span >
< / span > < span id = "L-216" > < a href = "#L-216" > < span class = "linenos" > 216< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "L-217" > < a href = "#L-217" > < span class = "linenos" > 217< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Trim< / span > < span class = "p" > :< / span > < span class = "n" > trim_sql< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-218" > < a href = "#L-218" > < span class = "linenos" > 218< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > UnixToTime< / span > < span class = "p" > :< / span > < span class = "n" > _unix_to_time_sql< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-219" > < a href = "#L-219" > < span class = "linenos" > 219< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > VariancePop< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " VAR_POP" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-220" > < a href = "#L-220" > < span class = "linenos" > 220< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > WeekOfYear< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " WEEKOFYEAR" < / span > < span class = "p" > ),< / span >
< / span > < span id = "L-221" > < a href = "#L-221" > < span class = "linenos" > 221< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > WithinGroup< / span > < span class = "p" > :< / span > < span class = "n" > transforms< / span > < span class = "o" > .< / span > < span class = "n" > preprocess< / span > < span class = "p" > (< / span >
< / span > < span id = "L-222" > < a href = "#L-222" > < span class = "linenos" > 222< / span > < / a > < span class = "p" > [< / span > < span class = "n" > transforms< / span > < span class = "o" > .< / span > < span class = "n" > remove_within_group_for_percentiles< / span > < span class = "p" > ]< / span >
< / span > < span id = "L-223" > < a href = "#L-223" > < span class = "linenos" > 223< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "L-224" > < a href = "#L-224" > < span class = "linenos" > 224< / span > < / a > < span class = "p" > }< / span >
< / span > < span id = "L-225" > < a href = "#L-225" > < span class = "linenos" > 225< / span > < / a > < span class = "n" > TRANSFORMS< / span > < span class = "o" > .< / span > < span class = "n" > pop< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ArrayJoin< / span > < span class = "p" > )< / span >
< / span > < span id = "L-226" > < a href = "#L-226" > < span class = "linenos" > 226< / span > < / a > < span class = "n" > TRANSFORMS< / span > < span class = "o" > .< / span > < span class = "n" > pop< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ArraySort< / span > < span class = "p" > )< / span >
< / span > < span id = "L-227" > < a href = "#L-227" > < span class = "linenos" > 227< / span > < / a > < span class = "n" > TRANSFORMS< / span > < span class = "o" > .< / span > < span class = "n" > pop< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ILike< / span > < span class = "p" > )< / span >
< / span > < span id = "L-228" > < a href = "#L-228" > < span class = "linenos" > 228< / span > < / a > < span class = "n" > TRANSFORMS< / span > < span class = "o" > .< / span > < span class = "n" > pop< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Left< / span > < span class = "p" > )< / span >
< / span > < span id = "L-229" > < a href = "#L-229" > < span class = "linenos" > 229< / span > < / a > < span class = "n" > TRANSFORMS< / span > < span class = "o" > .< / span > < span class = "n" > pop< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Right< / span > < span class = "p" > )< / span >
< / span > < span id = "L-230" > < a href = "#L-230" > < span class = "linenos" > 230< / span > < / a >
< / span > < span id = "L-231" > < a href = "#L-231" > < span class = "linenos" > 231< / span > < / a > < span class = "n" > WRAP_DERIVED_VALUES< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< / span > < span id = "L-232" > < a href = "#L-232" > < span class = "linenos" > 232< / span > < / a > < span class = "n" > CREATE_FUNCTION_RETURN_AS< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< / span > < span id = "L-233" > < a href = "#L-233" > < span class = "linenos" > 233< / span > < / a >
< / span > < span id = "L-234" > < a href = "#L-234" > < span class = "linenos" > 234< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > cast_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Cast< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-235" > < a href = "#L-235" > < span class = "linenos" > 235< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Cast< / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > is_type< / span > < span class = "p" > (< / span > < span class = "s2" > " json" < / span > < span class = "p" > ):< / span >
< / span > < span id = "L-236" > < a href = "#L-236" > < span class = "linenos" > 236< / span > < / a > < span class = "n" > schema< / span > < span class = "o" > =< / span > < span class = "sa" > f< / span > < span class = "s2" > " ' < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' to' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > ' " < / span >
< / span > < span id = "L-237" > < a href = "#L-237" > < span class = "linenos" > 237< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " FROM_JSON" < / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > schema< / span > < span class = "p" > )< / span >
< / span > < span id = "L-238" > < a href = "#L-238" > < span class = "linenos" > 238< / span > < / a > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > is_type< / span > < span class = "p" > (< / span > < span class = "s2" > " json" < / span > < span class = "p" > ):< / span >
< / span > < span id = "L-239" > < a href = "#L-239" > < span class = "linenos" > 239< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " TO_JSON" < / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > )< / span >
< / span > < span id = "L-240" > < a href = "#L-240" > < span class = "linenos" > 240< / span > < / a >
< / span > < span id = "L-241" > < a href = "#L-241" > < span class = "linenos" > 241< / span > < / a > < span class = "k" > return< / span > < span class = "nb" > super< / span > < span class = "p" > (< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "bp" > self< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > cast_sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
2025-02-13 15:58:03 +01:00
< / span > < span id = "L-242" > < a href = "#L-242" > < span class = "linenos" > 242< / span > < / a >
2025-02-13 16:00:14 +01:00
< / span > < span id = "L-243" > < a href = "#L-243" > < span class = "linenos" > 243< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > columndef_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ColumnDef< / span > < span class = "p" > ,< / span > < span class = "n" > sep< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "o" > =< / span > < span class = "s2" > " " < / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "L-244" > < a href = "#L-244" > < span class = "linenos" > 244< / span > < / a > < span class = "k" > return< / span > < span class = "nb" > super< / span > < span class = "p" > ()< / span > < span class = "o" > .< / span > < span class = "n" > columndef_sql< / span > < span class = "p" > (< / span >
< / span > < span id = "L-245" > < a href = "#L-245" > < span class = "linenos" > 245< / span > < / a > < span class = "n" > expression< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-246" > < a href = "#L-246" > < span class = "linenos" > 246< / span > < / a > < span class = "n" > sep< / span > < span class = "o" > =< / span > < span class = "s2" > " : " < / span >
< / span > < span id = "L-247" > < a href = "#L-247" > < span class = "linenos" > 247< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > parent< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DataType< / span > < span class = "p" > )< / span >
< / span > < span id = "L-248" > < a href = "#L-248" > < span class = "linenos" > 248< / span > < / a > < span class = "ow" > and< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > parent< / span > < span class = "o" > .< / span > < span class = "n" > is_type< / span > < span class = "p" > (< / span > < span class = "s2" > " struct" < / span > < span class = "p" > )< / span >
< / span > < span id = "L-249" > < a href = "#L-249" > < span class = "linenos" > 249< / span > < / a > < span class = "k" > else< / span > < span class = "n" > sep< / span > < span class = "p" > ,< / span >
< / span > < span id = "L-250" > < a href = "#L-250" > < span class = "linenos" > 250< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "L-251" > < a href = "#L-251" > < span class = "linenos" > 251< / span > < / a >
< / span > < span id = "L-252" > < a href = "#L-252" > < span class = "linenos" > 252< / span > < / a > < span class = "k" > class< / span > < span class = "nc" > Tokenizer< / span > < span class = "p" > (< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Tokenizer< / span > < span class = "p" > ):< / span >
< / span > < span id = "L-253" > < a href = "#L-253" > < span class = "linenos" > 253< / span > < / a > < span class = "n" > HEX_STRINGS< / span > < span class = "o" > =< / span > < span class = "p" > [(< / span > < span class = "s2" > " X' " < / span > < span class = "p" > ,< / span > < span class = "s2" > " ' " < / span > < span class = "p" > )]< / span >
2025-02-13 15:52:54 +01:00
< / span > < / pre > < / div >
< / section >
< section id = "Spark2" >
< input id = "Spark2-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr class" >
< span class = "def" > class< / span >
< span class = "name" > Spark2< / span > < wbr > (< span class = "base" > < a href = "hive.html#Hive" > sqlglot.dialects.hive.Hive< / a > < / span > ):
< label class = "view-source-button" for = "Spark2-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Spark2" > < / a >
2025-02-13 15:56:32 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Spark2-108" > < a href = "#Spark2-108" > < span class = "linenos" > 108< / span > < / a > < span class = "k" > class< / span > < span class = "nc" > Spark2< / span > < span class = "p" > (< / span > < span class = "n" > Hive< / span > < span class = "p" > ):< / span >
< / span > < span id = "Spark2-109" > < a href = "#Spark2-109" > < span class = "linenos" > 109< / span > < / a > < span class = "k" > class< / span > < span class = "nc" > Parser< / span > < span class = "p" > (< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Parser< / span > < span class = "p" > ):< / span >
< / span > < span id = "Spark2-110" > < a href = "#Spark2-110" > < span class = "linenos" > 110< / span > < / a > < span class = "n" > FUNCTIONS< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
< / span > < span id = "Spark2-111" > < a href = "#Spark2-111" > < span class = "linenos" > 111< / span > < / a > < span class = "o" > **< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Parser< / span > < span class = "o" > .< / span > < span class = "n" > FUNCTIONS< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-112" > < a href = "#Spark2-112" > < span class = "linenos" > 112< / span > < / a > < span class = "s2" > " MAP_FROM_ARRAYS" < / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Map< / span > < span class = "o" > .< / span > < span class = "n" > from_arg_list< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-113" > < a href = "#Spark2-113" > < span class = "linenos" > 113< / span > < / a > < span class = "s2" > " TO_UNIX_TIMESTAMP" < / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrToUnix< / span > < span class = "o" > .< / span > < span class = "n" > from_arg_list< / span > < span class = "p" > ,< / span >
2025-02-13 15:58:03 +01:00
< / span > < span id = "Spark2-114" > < a href = "#Spark2-114" > < span class = "linenos" > 114< / span > < / a > < span class = "s2" > " SHIFTLEFT" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > BitwiseLeftShift< / span > < span class = "p" > (< / span >
2025-02-13 15:56:32 +01:00
< / span > < span id = "Spark2-115" > < a href = "#Spark2-115" > < span class = "linenos" > 115< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > ),< / span >
2025-02-13 15:58:03 +01:00
< / span > < span id = "Spark2-116" > < a href = "#Spark2-116" > < span class = "linenos" > 116< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-117" > < a href = "#Spark2-117" > < span class = "linenos" > 117< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-118" > < a href = "#Spark2-118" > < span class = "linenos" > 118< / span > < / a > < span class = "s2" > " SHIFTRIGHT" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > BitwiseRightShift< / span > < span class = "p" > (< / span >
< / span > < span id = "Spark2-119" > < a href = "#Spark2-119" > < span class = "linenos" > 119< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-120" > < a href = "#Spark2-120" > < span class = "linenos" > 120< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-121" > < a href = "#Spark2-121" > < span class = "linenos" > 121< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-122" > < a href = "#Spark2-122" > < span class = "linenos" > 122< / span > < / a > < span class = "s2" > " APPROX_PERCENTILE" < / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ApproxQuantile< / span > < span class = "o" > .< / span > < span class = "n" > from_arg_list< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-123" > < a href = "#Spark2-123" > < span class = "linenos" > 123< / span > < / a > < span class = "s2" > " IIF" < / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > If< / span > < span class = "o" > .< / span > < span class = "n" > from_arg_list< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-124" > < a href = "#Spark2-124" > < span class = "linenos" > 124< / span > < / a > < span class = "s2" > " AGGREGATE" < / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Reduce< / span > < span class = "o" > .< / span > < span class = "n" > from_arg_list< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-125" > < a href = "#Spark2-125" > < span class = "linenos" > 125< / span > < / a > < span class = "s2" > " DAYOFWEEK" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DayOfWeek< / span > < span class = "p" > (< / span >
< / span > < span id = "Spark2-126" > < a href = "#Spark2-126" > < span class = "linenos" > 126< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TsOrDsToDate< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )),< / span >
< / span > < span id = "Spark2-127" > < a href = "#Spark2-127" > < span class = "linenos" > 127< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-128" > < a href = "#Spark2-128" > < span class = "linenos" > 128< / span > < / a > < span class = "s2" > " DAYOFMONTH" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DayOfMonth< / span > < span class = "p" > (< / span >
< / span > < span id = "Spark2-129" > < a href = "#Spark2-129" > < span class = "linenos" > 129< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TsOrDsToDate< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )),< / span >
< / span > < span id = "Spark2-130" > < a href = "#Spark2-130" > < span class = "linenos" > 130< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-131" > < a href = "#Spark2-131" > < span class = "linenos" > 131< / span > < / a > < span class = "s2" > " DAYOFYEAR" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DayOfYear< / span > < span class = "p" > (< / span >
< / span > < span id = "Spark2-132" > < a href = "#Spark2-132" > < span class = "linenos" > 132< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TsOrDsToDate< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )),< / span >
< / span > < span id = "Spark2-133" > < a href = "#Spark2-133" > < span class = "linenos" > 133< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-134" > < a href = "#Spark2-134" > < span class = "linenos" > 134< / span > < / a > < span class = "s2" > " WEEKOFYEAR" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > WeekOfYear< / span > < span class = "p" > (< / span >
< / span > < span id = "Spark2-135" > < a href = "#Spark2-135" > < span class = "linenos" > 135< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TsOrDsToDate< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )),< / span >
< / span > < span id = "Spark2-136" > < a href = "#Spark2-136" > < span class = "linenos" > 136< / span > < / a > < span class = "p" > ),< / span >
2025-02-13 16:00:14 +01:00
< / span > < span id = "Spark2-137" > < a href = "#Spark2-137" > < span class = "linenos" > 137< / span > < / a > < span class = "s2" > " DATE_TRUNC" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TimestampTrunc< / span > < span class = "p" > (< / span >
< / span > < span id = "Spark2-138" > < a href = "#Spark2-138" > < span class = "linenos" > 138< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-139" > < a href = "#Spark2-139" > < span class = "linenos" > 139< / span > < / a > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > var< / span > < span class = "p" > (< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )),< / span >
< / span > < span id = "Spark2-140" > < a href = "#Spark2-140" > < span class = "linenos" > 140< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-141" > < a href = "#Spark2-141" > < span class = "linenos" > 141< / span > < / a > < span class = "s2" > " TRUNC" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DateTrunc< / span > < span class = "p" > (< / span > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )),< / span >
< / span > < span id = "Spark2-142" > < a href = "#Spark2-142" > < span class = "linenos" > 142< / span > < / a > < span class = "s2" > " BOOLEAN" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " boolean" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-143" > < a href = "#Spark2-143" > < span class = "linenos" > 143< / span > < / a > < span class = "s2" > " DATE" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " date" < / span > < span class = "p" > ),< / span >
2025-02-13 15:58:03 +01:00
< / span > < span id = "Spark2-144" > < a href = "#Spark2-144" > < span class = "linenos" > 144< / span > < / a > < span class = "s2" > " DOUBLE" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " double" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-145" > < a href = "#Spark2-145" > < span class = "linenos" > 145< / span > < / a > < span class = "s2" > " FLOAT" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " float" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-146" > < a href = "#Spark2-146" > < span class = "linenos" > 146< / span > < / a > < span class = "s2" > " INT" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " int" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-147" > < a href = "#Spark2-147" > < span class = "linenos" > 147< / span > < / a > < span class = "s2" > " STRING" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " string" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-148" > < a href = "#Spark2-148" > < span class = "linenos" > 148< / span > < / a > < span class = "s2" > " TIMESTAMP" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " timestamp" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-149" > < a href = "#Spark2-149" > < span class = "linenos" > 149< / span > < / a > < span class = "p" > }< / span >
< / span > < span id = "Spark2-150" > < a href = "#Spark2-150" > < span class = "linenos" > 150< / span > < / a >
< / span > < span id = "Spark2-151" > < a href = "#Spark2-151" > < span class = "linenos" > 151< / span > < / a > < span class = "n" > FUNCTION_PARSERS< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
< / span > < span id = "Spark2-152" > < a href = "#Spark2-152" > < span class = "linenos" > 152< / span > < / a > < span class = "o" > **< / span > < span class = "n" > parser< / span > < span class = "o" > .< / span > < span class = "n" > Parser< / span > < span class = "o" > .< / span > < span class = "n" > FUNCTION_PARSERS< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-153" > < a href = "#Spark2-153" > < span class = "linenos" > 153< / span > < / a > < span class = "s2" > " BROADCAST" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " BROADCAST" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-154" > < a href = "#Spark2-154" > < span class = "linenos" > 154< / span > < / a > < span class = "s2" > " BROADCASTJOIN" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " BROADCASTJOIN" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-155" > < a href = "#Spark2-155" > < span class = "linenos" > 155< / span > < / a > < span class = "s2" > " MAPJOIN" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " MAPJOIN" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-156" > < a href = "#Spark2-156" > < span class = "linenos" > 156< / span > < / a > < span class = "s2" > " MERGE" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " MERGE" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-157" > < a href = "#Spark2-157" > < span class = "linenos" > 157< / span > < / a > < span class = "s2" > " SHUFFLEMERGE" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " SHUFFLEMERGE" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-158" > < a href = "#Spark2-158" > < span class = "linenos" > 158< / span > < / a > < span class = "s2" > " MERGEJOIN" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " MERGEJOIN" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-159" > < a href = "#Spark2-159" > < span class = "linenos" > 159< / span > < / a > < span class = "s2" > " SHUFFLE_HASH" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " SHUFFLE_HASH" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-160" > < a href = "#Spark2-160" > < span class = "linenos" > 160< / span > < / a > < span class = "s2" > " SHUFFLE_REPLICATE_NL" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " SHUFFLE_REPLICATE_NL" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-161" > < a href = "#Spark2-161" > < span class = "linenos" > 161< / span > < / a > < span class = "p" > }< / span >
< / span > < span id = "Spark2-162" > < a href = "#Spark2-162" > < span class = "linenos" > 162< / span > < / a >
< / span > < span id = "Spark2-163" > < a href = "#Spark2-163" > < span class = "linenos" > 163< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _parse_add_column< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ]:< / span >
< / span > < span id = "Spark2-164" > < a href = "#Spark2-164" > < span class = "linenos" > 164< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _match_text_seq< / span > < span class = "p" > (< / span > < span class = "s2" > " ADD" < / span > < span class = "p" > ,< / span > < span class = "s2" > " COLUMNS" < / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_schema< / span > < span class = "p" > ()< / span >
< / span > < span id = "Spark2-165" > < a href = "#Spark2-165" > < span class = "linenos" > 165< / span > < / a >
2025-02-13 16:00:14 +01:00
< / span > < span id = "Spark2-166" > < a href = "#Spark2-166" > < span class = "linenos" > 166< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _parse_drop_column< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Drop< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Command< / span > < span class = "p" > ]:< / span >
2025-02-13 15:58:03 +01:00
< / span > < span id = "Spark2-167" > < a href = "#Spark2-167" > < span class = "linenos" > 167< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _match_text_seq< / span > < span class = "p" > (< / span > < span class = "s2" > " DROP" < / span > < span class = "p" > ,< / span > < span class = "s2" > " COLUMNS" < / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "p" > (< / span >
2025-02-13 16:00:14 +01:00
< / span > < span id = "Spark2-168" > < a href = "#Spark2-168" > < span class = "linenos" > 168< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Drop< / span > < span class = "p" > ,< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_schema< / span > < span class = "p" > (),< / span > < span class = "n" > kind< / span > < span class = "o" > =< / span > < span class = "s2" > " COLUMNS" < / span >
< / span > < span id = "Spark2-169" > < a href = "#Spark2-169" > < span class = "linenos" > 169< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "Spark2-170" > < a href = "#Spark2-170" > < span class = "linenos" > 170< / span > < / a >
< / span > < span id = "Spark2-171" > < a href = "#Spark2-171" > < span class = "linenos" > 171< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _pivot_column_names< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > aggregations< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ])< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ]:< / span >
< / span > < span id = "Spark2-172" > < a href = "#Spark2-172" > < span class = "linenos" > 172< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > aggregations< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "mi" > 1< / span > < span class = "p" > :< / span >
< / span > < span id = "Spark2-173" > < a href = "#Spark2-173" > < span class = "linenos" > 173< / span > < / a > < span class = "k" > return< / span > < span class = "p" > [< / span > < span class = "s2" > " " < / span > < span class = "p" > ]< / span >
< / span > < span id = "Spark2-174" > < a href = "#Spark2-174" > < span class = "linenos" > 174< / span > < / a > < span class = "k" > return< / span > < span class = "n" > pivot_column_names< / span > < span class = "p" > (< / span > < span class = "n" > aggregations< / span > < span class = "p" > ,< / span > < span class = "n" > dialect< / span > < span class = "o" > =< / span > < span class = "s2" > " spark" < / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2-175" > < a href = "#Spark2-175" > < span class = "linenos" > 175< / span > < / a >
< / span > < span id = "Spark2-176" > < a href = "#Spark2-176" > < span class = "linenos" > 176< / span > < / a > < span class = "k" > class< / span > < span class = "nc" > Generator< / span > < span class = "p" > (< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Generator< / span > < span class = "p" > ):< / span >
< / span > < span id = "Spark2-177" > < a href = "#Spark2-177" > < span class = "linenos" > 177< / span > < / a > < span class = "n" > TYPE_MAPPING< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
< / span > < span id = "Spark2-178" > < a href = "#Spark2-178" > < span class = "linenos" > 178< / span > < / a > < span class = "o" > **< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Generator< / span > < span class = "o" > .< / span > < span class = "n" > TYPE_MAPPING< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-179" > < a href = "#Spark2-179" > < span class = "linenos" > 179< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DataType< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "o" > .< / span > < span class = "n" > TINYINT< / span > < span class = "p" > :< / span > < span class = "s2" > " BYTE" < / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-180" > < a href = "#Spark2-180" > < span class = "linenos" > 180< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DataType< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "o" > .< / span > < span class = "n" > SMALLINT< / span > < span class = "p" > :< / span > < span class = "s2" > " SHORT" < / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-181" > < a href = "#Spark2-181" > < span class = "linenos" > 181< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DataType< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "o" > .< / span > < span class = "n" > BIGINT< / span > < span class = "p" > :< / span > < span class = "s2" > " LONG" < / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-182" > < a href = "#Spark2-182" > < span class = "linenos" > 182< / span > < / a > < span class = "p" > }< / span >
< / span > < span id = "Spark2-183" > < a href = "#Spark2-183" > < span class = "linenos" > 183< / span > < / a >
< / span > < span id = "Spark2-184" > < a href = "#Spark2-184" > < span class = "linenos" > 184< / span > < / a > < span class = "n" > PROPERTIES_LOCATION< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
< / span > < span id = "Spark2-185" > < a href = "#Spark2-185" > < span class = "linenos" > 185< / span > < / a > < span class = "o" > **< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Generator< / span > < span class = "o" > .< / span > < span class = "n" > PROPERTIES_LOCATION< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-186" > < a href = "#Spark2-186" > < span class = "linenos" > 186< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > EngineProperty< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Properties< / span > < span class = "o" > .< / span > < span class = "n" > Location< / span > < span class = "o" > .< / span > < span class = "n" > UNSUPPORTED< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-187" > < a href = "#Spark2-187" > < span class = "linenos" > 187< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > AutoIncrementProperty< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Properties< / span > < span class = "o" > .< / span > < span class = "n" > Location< / span > < span class = "o" > .< / span > < span class = "n" > UNSUPPORTED< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-188" > < a href = "#Spark2-188" > < span class = "linenos" > 188< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > CharacterSetProperty< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Properties< / span > < span class = "o" > .< / span > < span class = "n" > Location< / span > < span class = "o" > .< / span > < span class = "n" > UNSUPPORTED< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-189" > < a href = "#Spark2-189" > < span class = "linenos" > 189< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > CollateProperty< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Properties< / span > < span class = "o" > .< / span > < span class = "n" > Location< / span > < span class = "o" > .< / span > < span class = "n" > UNSUPPORTED< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-190" > < a href = "#Spark2-190" > < span class = "linenos" > 190< / span > < / a > < span class = "p" > }< / span >
< / span > < span id = "Spark2-191" > < a href = "#Spark2-191" > < span class = "linenos" > 191< / span > < / a >
< / span > < span id = "Spark2-192" > < a href = "#Spark2-192" > < span class = "linenos" > 192< / span > < / a > < span class = "n" > TRANSFORMS< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
< / span > < span id = "Spark2-193" > < a href = "#Spark2-193" > < span class = "linenos" > 193< / span > < / a > < span class = "o" > **< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Generator< / span > < span class = "o" > .< / span > < span class = "n" > TRANSFORMS< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-194" > < a href = "#Spark2-194" > < span class = "linenos" > 194< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ApproxDistinct< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " APPROX_COUNT_DISTINCT" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-195" > < a href = "#Spark2-195" > < span class = "linenos" > 195< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ArraySum< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "sa" > f< / span > < span class = "s2" > " AGGREGATE(< / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' this' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > , 0, (acc, x) -> acc + x, acc -> acc)" < / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-196" > < a href = "#Spark2-196" > < span class = "linenos" > 196< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > AtTimeZone< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "sa" > f< / span > < span class = "s2" > " FROM_UTC_TIMESTAMP(< / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' this' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > , < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' zone' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-197" > < a href = "#Spark2-197" > < span class = "linenos" > 197< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > BitwiseLeftShift< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " SHIFTLEFT" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-198" > < a href = "#Spark2-198" > < span class = "linenos" > 198< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > BitwiseRightShift< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " SHIFTRIGHT" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-199" > < a href = "#Spark2-199" > < span class = "linenos" > 199< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Create< / span > < span class = "p" > :< / span > < span class = "n" > _create_sql< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-200" > < a href = "#Spark2-200" > < span class = "linenos" > 200< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DateFromParts< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " MAKE_DATE" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-201" > < a href = "#Spark2-201" > < span class = "linenos" > 201< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DateTrunc< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " TRUNC" < / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " unit" < / span > < span class = "p" > )),< / span >
< / span > < span id = "Spark2-202" > < a href = "#Spark2-202" > < span class = "linenos" > 202< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DayOfMonth< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " DAYOFMONTH" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-203" > < a href = "#Spark2-203" > < span class = "linenos" > 203< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DayOfWeek< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " DAYOFWEEK" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-204" > < a href = "#Spark2-204" > < span class = "linenos" > 204< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DayOfYear< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " DAYOFYEAR" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-205" > < a href = "#Spark2-205" > < span class = "linenos" > 205< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > FileFormatProperty< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "sa" > f< / span > < span class = "s2" > " USING < / span > < span class = "si" > {< / span > < span class = "n" > e< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "o" > .< / span > < span class = "n" > upper< / span > < span class = "p" > ()< / span > < span class = "si" > }< / span > < span class = "s2" > " < / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-206" > < a href = "#Spark2-206" > < span class = "linenos" > 206< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > From< / span > < span class = "p" > :< / span > < span class = "n" > transforms< / span > < span class = "o" > .< / span > < span class = "n" > preprocess< / span > < span class = "p" > ([< / span > < span class = "n" > _unalias_pivot< / span > < span class = "p" > ]),< / span >
< / span > < span id = "Spark2-207" > < a href = "#Spark2-207" > < span class = "linenos" > 207< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Hint< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "sa" > f< / span > < span class = "s2" > " /*+ < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > strip< / span > < span class = "p" > ()< / span > < span class = "si" > }< / span > < span class = "s2" > */" < / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-208" > < a href = "#Spark2-208" > < span class = "linenos" > 208< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > LogicalAnd< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " BOOL_AND" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-209" > < a href = "#Spark2-209" > < span class = "linenos" > 209< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > LogicalOr< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " BOOL_OR" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-210" > < a href = "#Spark2-210" > < span class = "linenos" > 210< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Map< / span > < span class = "p" > :< / span > < span class = "n" > _map_sql< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-211" > < a href = "#Spark2-211" > < span class = "linenos" > 211< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Pivot< / span > < span class = "p" > :< / span > < span class = "n" > transforms< / span > < span class = "o" > .< / span > < span class = "n" > preprocess< / span > < span class = "p" > ([< / span > < span class = "n" > _unqualify_pivot_columns< / span > < span class = "p" > ]),< / span >
< / span > < span id = "Spark2-212" > < a href = "#Spark2-212" > < span class = "linenos" > 212< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Reduce< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " AGGREGATE" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-213" > < a href = "#Spark2-213" > < span class = "linenos" > 213< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrToDate< / span > < span class = "p" > :< / span > < span class = "n" > _str_to_date< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-214" > < a href = "#Spark2-214" > < span class = "linenos" > 214< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrToTime< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "sa" > f< / span > < span class = "s2" > " TO_TIMESTAMP(< / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' this' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > , < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > format_time< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-215" > < a href = "#Spark2-215" > < span class = "linenos" > 215< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TimestampTrunc< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span >
< / span > < span id = "Spark2-216" > < a href = "#Spark2-216" > < span class = "linenos" > 216< / span > < / a > < span class = "s2" > " DATE_TRUNC" < / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Literal< / span > < span class = "o" > .< / span > < span class = "n" > string< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "o" > .< / span > < span class = "n" > text< / span > < span class = "p" > (< / span > < span class = "s2" > " unit" < / span > < span class = "p" > )),< / span > < span class = "n" > e< / span > < span class = "o" > .< / span > < span class = "n" > this< / span >
< / span > < span id = "Spark2-217" > < a href = "#Spark2-217" > < span class = "linenos" > 217< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-218" > < a href = "#Spark2-218" > < span class = "linenos" > 218< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Trim< / span > < span class = "p" > :< / span > < span class = "n" > trim_sql< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-219" > < a href = "#Spark2-219" > < span class = "linenos" > 219< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > UnixToTime< / span > < span class = "p" > :< / span > < span class = "n" > _unix_to_time_sql< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-220" > < a href = "#Spark2-220" > < span class = "linenos" > 220< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > VariancePop< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " VAR_POP" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-221" > < a href = "#Spark2-221" > < span class = "linenos" > 221< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > WeekOfYear< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " WEEKOFYEAR" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-222" > < a href = "#Spark2-222" > < span class = "linenos" > 222< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > WithinGroup< / span > < span class = "p" > :< / span > < span class = "n" > transforms< / span > < span class = "o" > .< / span > < span class = "n" > preprocess< / span > < span class = "p" > (< / span >
< / span > < span id = "Spark2-223" > < a href = "#Spark2-223" > < span class = "linenos" > 223< / span > < / a > < span class = "p" > [< / span > < span class = "n" > transforms< / span > < span class = "o" > .< / span > < span class = "n" > remove_within_group_for_percentiles< / span > < span class = "p" > ]< / span >
< / span > < span id = "Spark2-224" > < a href = "#Spark2-224" > < span class = "linenos" > 224< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "Spark2-225" > < a href = "#Spark2-225" > < span class = "linenos" > 225< / span > < / a > < span class = "p" > }< / span >
< / span > < span id = "Spark2-226" > < a href = "#Spark2-226" > < span class = "linenos" > 226< / span > < / a > < span class = "n" > TRANSFORMS< / span > < span class = "o" > .< / span > < span class = "n" > pop< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ArrayJoin< / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2-227" > < a href = "#Spark2-227" > < span class = "linenos" > 227< / span > < / a > < span class = "n" > TRANSFORMS< / span > < span class = "o" > .< / span > < span class = "n" > pop< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ArraySort< / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2-228" > < a href = "#Spark2-228" > < span class = "linenos" > 228< / span > < / a > < span class = "n" > TRANSFORMS< / span > < span class = "o" > .< / span > < span class = "n" > pop< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ILike< / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2-229" > < a href = "#Spark2-229" > < span class = "linenos" > 229< / span > < / a > < span class = "n" > TRANSFORMS< / span > < span class = "o" > .< / span > < span class = "n" > pop< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Left< / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2-230" > < a href = "#Spark2-230" > < span class = "linenos" > 230< / span > < / a > < span class = "n" > TRANSFORMS< / span > < span class = "o" > .< / span > < span class = "n" > pop< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Right< / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2-231" > < a href = "#Spark2-231" > < span class = "linenos" > 231< / span > < / a >
< / span > < span id = "Spark2-232" > < a href = "#Spark2-232" > < span class = "linenos" > 232< / span > < / a > < span class = "n" > WRAP_DERIVED_VALUES< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< / span > < span id = "Spark2-233" > < a href = "#Spark2-233" > < span class = "linenos" > 233< / span > < / a > < span class = "n" > CREATE_FUNCTION_RETURN_AS< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< / span > < span id = "Spark2-234" > < a href = "#Spark2-234" > < span class = "linenos" > 234< / span > < / a >
< / span > < span id = "Spark2-235" > < a href = "#Spark2-235" > < span class = "linenos" > 235< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > cast_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Cast< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "Spark2-236" > < a href = "#Spark2-236" > < span class = "linenos" > 236< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Cast< / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > is_type< / span > < span class = "p" > (< / span > < span class = "s2" > " json" < / span > < span class = "p" > ):< / span >
< / span > < span id = "Spark2-237" > < a href = "#Spark2-237" > < span class = "linenos" > 237< / span > < / a > < span class = "n" > schema< / span > < span class = "o" > =< / span > < span class = "sa" > f< / span > < span class = "s2" > " ' < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' to' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > ' " < / span >
< / span > < span id = "Spark2-238" > < a href = "#Spark2-238" > < span class = "linenos" > 238< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " FROM_JSON" < / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > schema< / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2-239" > < a href = "#Spark2-239" > < span class = "linenos" > 239< / span > < / a > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > is_type< / span > < span class = "p" > (< / span > < span class = "s2" > " json" < / span > < span class = "p" > ):< / span >
< / span > < span id = "Spark2-240" > < a href = "#Spark2-240" > < span class = "linenos" > 240< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " TO_JSON" < / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2-241" > < a href = "#Spark2-241" > < span class = "linenos" > 241< / span > < / a >
< / span > < span id = "Spark2-242" > < a href = "#Spark2-242" > < span class = "linenos" > 242< / span > < / a > < span class = "k" > return< / span > < span class = "nb" > super< / span > < span class = "p" > (< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "bp" > self< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > cast_sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
2025-02-13 15:58:03 +01:00
< / span > < span id = "Spark2-243" > < a href = "#Spark2-243" > < span class = "linenos" > 243< / span > < / a >
2025-02-13 16:00:14 +01:00
< / span > < span id = "Spark2-244" > < a href = "#Spark2-244" > < span class = "linenos" > 244< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > columndef_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ColumnDef< / span > < span class = "p" > ,< / span > < span class = "n" > sep< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "o" > =< / span > < span class = "s2" > " " < / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "Spark2-245" > < a href = "#Spark2-245" > < span class = "linenos" > 245< / span > < / a > < span class = "k" > return< / span > < span class = "nb" > super< / span > < span class = "p" > ()< / span > < span class = "o" > .< / span > < span class = "n" > columndef_sql< / span > < span class = "p" > (< / span >
< / span > < span id = "Spark2-246" > < a href = "#Spark2-246" > < span class = "linenos" > 246< / span > < / a > < span class = "n" > expression< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-247" > < a href = "#Spark2-247" > < span class = "linenos" > 247< / span > < / a > < span class = "n" > sep< / span > < span class = "o" > =< / span > < span class = "s2" > " : " < / span >
< / span > < span id = "Spark2-248" > < a href = "#Spark2-248" > < span class = "linenos" > 248< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > parent< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DataType< / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2-249" > < a href = "#Spark2-249" > < span class = "linenos" > 249< / span > < / a > < span class = "ow" > and< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > parent< / span > < span class = "o" > .< / span > < span class = "n" > is_type< / span > < span class = "p" > (< / span > < span class = "s2" > " struct" < / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2-250" > < a href = "#Spark2-250" > < span class = "linenos" > 250< / span > < / a > < span class = "k" > else< / span > < span class = "n" > sep< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2-251" > < a href = "#Spark2-251" > < span class = "linenos" > 251< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "Spark2-252" > < a href = "#Spark2-252" > < span class = "linenos" > 252< / span > < / a >
< / span > < span id = "Spark2-253" > < a href = "#Spark2-253" > < span class = "linenos" > 253< / span > < / a > < span class = "k" > class< / span > < span class = "nc" > Tokenizer< / span > < span class = "p" > (< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Tokenizer< / span > < span class = "p" > ):< / span >
< / span > < span id = "Spark2-254" > < a href = "#Spark2-254" > < span class = "linenos" > 254< / span > < / a > < span class = "n" > HEX_STRINGS< / span > < span class = "o" > =< / span > < span class = "p" > [(< / span > < span class = "s2" > " X' " < / span > < span class = "p" > ,< / span > < span class = "s2" > " ' " < / span > < span class = "p" > )]< / span >
2025-02-13 15:52:54 +01:00
< / span > < / pre > < / div >
< div class = "inherited" >
< h5 > Inherited Members< / h5 >
< dl >
< div > < dt > < a href = "dialect.html#Dialect" > sqlglot.dialects.dialect.Dialect< / a > < / dt >
< dd id = "Spark2.get_or_raise" class = "function" > < a href = "dialect.html#Dialect.get_or_raise" > get_or_raise< / a > < / dd >
< dd id = "Spark2.format_time" class = "function" > < a href = "dialect.html#Dialect.format_time" > format_time< / a > < / dd >
2025-02-13 20:04:17 +01:00
< dd id = "Spark2.normalize_identifier" class = "function" > < a href = "dialect.html#Dialect.normalize_identifier" > normalize_identifier< / a > < / dd >
< dd id = "Spark2.case_sensitive" class = "function" > < a href = "dialect.html#Dialect.case_sensitive" > case_sensitive< / a > < / dd >
< dd id = "Spark2.can_identify" class = "function" > < a href = "dialect.html#Dialect.can_identify" > can_identify< / a > < / dd >
< dd id = "Spark2.quote_identifier" class = "function" > < a href = "dialect.html#Dialect.quote_identifier" > quote_identifier< / a > < / dd >
2025-02-13 15:52:54 +01:00
< dd id = "Spark2.parse" class = "function" > < a href = "dialect.html#Dialect.parse" > parse< / a > < / dd >
< dd id = "Spark2.parse_into" class = "function" > < a href = "dialect.html#Dialect.parse_into" > parse_into< / a > < / dd >
< dd id = "Spark2.generate" class = "function" > < a href = "dialect.html#Dialect.generate" > generate< / a > < / dd >
< dd id = "Spark2.transpile" class = "function" > < a href = "dialect.html#Dialect.transpile" > transpile< / a > < / dd >
< dd id = "Spark2.tokenize" class = "function" > < a href = "dialect.html#Dialect.tokenize" > tokenize< / a > < / dd >
< dd id = "Spark2.parser" class = "function" > < a href = "dialect.html#Dialect.parser" > parser< / a > < / dd >
< dd id = "Spark2.generator" class = "function" > < a href = "dialect.html#Dialect.generator" > generator< / a > < / dd >
< / div >
< / dl >
< / div >
< / section >
< section id = "Spark2.Parser" >
< input id = "Spark2.Parser-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr class" >
< span class = "def" > class< / span >
< span class = "name" > Spark2.Parser< / span > < wbr > (< span class = "base" > < a href = "hive.html#Hive.Parser" > sqlglot.dialects.hive.Hive.Parser< / a > < / span > ):
< label class = "view-source-button" for = "Spark2.Parser-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Spark2.Parser" > < / a >
2025-02-13 15:56:32 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Spark2.Parser-109" > < a href = "#Spark2.Parser-109" > < span class = "linenos" > 109< / span > < / a > < span class = "k" > class< / span > < span class = "nc" > Parser< / span > < span class = "p" > (< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Parser< / span > < span class = "p" > ):< / span >
< / span > < span id = "Spark2.Parser-110" > < a href = "#Spark2.Parser-110" > < span class = "linenos" > 110< / span > < / a > < span class = "n" > FUNCTIONS< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
< / span > < span id = "Spark2.Parser-111" > < a href = "#Spark2.Parser-111" > < span class = "linenos" > 111< / span > < / a > < span class = "o" > **< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Parser< / span > < span class = "o" > .< / span > < span class = "n" > FUNCTIONS< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Parser-112" > < a href = "#Spark2.Parser-112" > < span class = "linenos" > 112< / span > < / a > < span class = "s2" > " MAP_FROM_ARRAYS" < / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Map< / span > < span class = "o" > .< / span > < span class = "n" > from_arg_list< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Parser-113" > < a href = "#Spark2.Parser-113" > < span class = "linenos" > 113< / span > < / a > < span class = "s2" > " TO_UNIX_TIMESTAMP" < / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrToUnix< / span > < span class = "o" > .< / span > < span class = "n" > from_arg_list< / span > < span class = "p" > ,< / span >
2025-02-13 15:58:03 +01:00
< / span > < span id = "Spark2.Parser-114" > < a href = "#Spark2.Parser-114" > < span class = "linenos" > 114< / span > < / a > < span class = "s2" > " SHIFTLEFT" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > BitwiseLeftShift< / span > < span class = "p" > (< / span >
2025-02-13 15:56:32 +01:00
< / span > < span id = "Spark2.Parser-115" > < a href = "#Spark2.Parser-115" > < span class = "linenos" > 115< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > ),< / span >
2025-02-13 15:58:03 +01:00
< / span > < span id = "Spark2.Parser-116" > < a href = "#Spark2.Parser-116" > < span class = "linenos" > 116< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-117" > < a href = "#Spark2.Parser-117" > < span class = "linenos" > 117< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-118" > < a href = "#Spark2.Parser-118" > < span class = "linenos" > 118< / span > < / a > < span class = "s2" > " SHIFTRIGHT" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > BitwiseRightShift< / span > < span class = "p" > (< / span >
< / span > < span id = "Spark2.Parser-119" > < a href = "#Spark2.Parser-119" > < span class = "linenos" > 119< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-120" > < a href = "#Spark2.Parser-120" > < span class = "linenos" > 120< / span > < / a > < span class = "n" > expression< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-121" > < a href = "#Spark2.Parser-121" > < span class = "linenos" > 121< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-122" > < a href = "#Spark2.Parser-122" > < span class = "linenos" > 122< / span > < / a > < span class = "s2" > " APPROX_PERCENTILE" < / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ApproxQuantile< / span > < span class = "o" > .< / span > < span class = "n" > from_arg_list< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Parser-123" > < a href = "#Spark2.Parser-123" > < span class = "linenos" > 123< / span > < / a > < span class = "s2" > " IIF" < / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > If< / span > < span class = "o" > .< / span > < span class = "n" > from_arg_list< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Parser-124" > < a href = "#Spark2.Parser-124" > < span class = "linenos" > 124< / span > < / a > < span class = "s2" > " AGGREGATE" < / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Reduce< / span > < span class = "o" > .< / span > < span class = "n" > from_arg_list< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Parser-125" > < a href = "#Spark2.Parser-125" > < span class = "linenos" > 125< / span > < / a > < span class = "s2" > " DAYOFWEEK" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DayOfWeek< / span > < span class = "p" > (< / span >
< / span > < span id = "Spark2.Parser-126" > < a href = "#Spark2.Parser-126" > < span class = "linenos" > 126< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TsOrDsToDate< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )),< / span >
< / span > < span id = "Spark2.Parser-127" > < a href = "#Spark2.Parser-127" > < span class = "linenos" > 127< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-128" > < a href = "#Spark2.Parser-128" > < span class = "linenos" > 128< / span > < / a > < span class = "s2" > " DAYOFMONTH" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DayOfMonth< / span > < span class = "p" > (< / span >
< / span > < span id = "Spark2.Parser-129" > < a href = "#Spark2.Parser-129" > < span class = "linenos" > 129< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TsOrDsToDate< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )),< / span >
< / span > < span id = "Spark2.Parser-130" > < a href = "#Spark2.Parser-130" > < span class = "linenos" > 130< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-131" > < a href = "#Spark2.Parser-131" > < span class = "linenos" > 131< / span > < / a > < span class = "s2" > " DAYOFYEAR" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DayOfYear< / span > < span class = "p" > (< / span >
< / span > < span id = "Spark2.Parser-132" > < a href = "#Spark2.Parser-132" > < span class = "linenos" > 132< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TsOrDsToDate< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )),< / span >
< / span > < span id = "Spark2.Parser-133" > < a href = "#Spark2.Parser-133" > < span class = "linenos" > 133< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-134" > < a href = "#Spark2.Parser-134" > < span class = "linenos" > 134< / span > < / a > < span class = "s2" > " WEEKOFYEAR" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > WeekOfYear< / span > < span class = "p" > (< / span >
< / span > < span id = "Spark2.Parser-135" > < a href = "#Spark2.Parser-135" > < span class = "linenos" > 135< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TsOrDsToDate< / span > < span class = "p" > (< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )),< / span >
< / span > < span id = "Spark2.Parser-136" > < a href = "#Spark2.Parser-136" > < span class = "linenos" > 136< / span > < / a > < span class = "p" > ),< / span >
2025-02-13 16:00:14 +01:00
< / span > < span id = "Spark2.Parser-137" > < a href = "#Spark2.Parser-137" > < span class = "linenos" > 137< / span > < / a > < span class = "s2" > " DATE_TRUNC" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TimestampTrunc< / span > < span class = "p" > (< / span >
< / span > < span id = "Spark2.Parser-138" > < a href = "#Spark2.Parser-138" > < span class = "linenos" > 138< / span > < / a > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-139" > < a href = "#Spark2.Parser-139" > < span class = "linenos" > 139< / span > < / a > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > var< / span > < span class = "p" > (< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )),< / span >
< / span > < span id = "Spark2.Parser-140" > < a href = "#Spark2.Parser-140" > < span class = "linenos" > 140< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-141" > < a href = "#Spark2.Parser-141" > < span class = "linenos" > 141< / span > < / a > < span class = "s2" > " TRUNC" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "n" > args< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DateTrunc< / span > < span class = "p" > (< / span > < span class = "n" > unit< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 1< / span > < span class = "p" > ),< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "n" > seq_get< / span > < span class = "p" > (< / span > < span class = "n" > args< / span > < span class = "p" > ,< / span > < span class = "mi" > 0< / span > < span class = "p" > )),< / span >
< / span > < span id = "Spark2.Parser-142" > < a href = "#Spark2.Parser-142" > < span class = "linenos" > 142< / span > < / a > < span class = "s2" > " BOOLEAN" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " boolean" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-143" > < a href = "#Spark2.Parser-143" > < span class = "linenos" > 143< / span > < / a > < span class = "s2" > " DATE" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " date" < / span > < span class = "p" > ),< / span >
2025-02-13 15:58:03 +01:00
< / span > < span id = "Spark2.Parser-144" > < a href = "#Spark2.Parser-144" > < span class = "linenos" > 144< / span > < / a > < span class = "s2" > " DOUBLE" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " double" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-145" > < a href = "#Spark2.Parser-145" > < span class = "linenos" > 145< / span > < / a > < span class = "s2" > " FLOAT" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " float" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-146" > < a href = "#Spark2.Parser-146" > < span class = "linenos" > 146< / span > < / a > < span class = "s2" > " INT" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " int" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-147" > < a href = "#Spark2.Parser-147" > < span class = "linenos" > 147< / span > < / a > < span class = "s2" > " STRING" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " string" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-148" > < a href = "#Spark2.Parser-148" > < span class = "linenos" > 148< / span > < / a > < span class = "s2" > " TIMESTAMP" < / span > < span class = "p" > :< / span > < span class = "n" > _parse_as_cast< / span > < span class = "p" > (< / span > < span class = "s2" > " timestamp" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-149" > < a href = "#Spark2.Parser-149" > < span class = "linenos" > 149< / span > < / a > < span class = "p" > }< / span >
< / span > < span id = "Spark2.Parser-150" > < a href = "#Spark2.Parser-150" > < span class = "linenos" > 150< / span > < / a >
< / span > < span id = "Spark2.Parser-151" > < a href = "#Spark2.Parser-151" > < span class = "linenos" > 151< / span > < / a > < span class = "n" > FUNCTION_PARSERS< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
< / span > < span id = "Spark2.Parser-152" > < a href = "#Spark2.Parser-152" > < span class = "linenos" > 152< / span > < / a > < span class = "o" > **< / span > < span class = "n" > parser< / span > < span class = "o" > .< / span > < span class = "n" > Parser< / span > < span class = "o" > .< / span > < span class = "n" > FUNCTION_PARSERS< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Parser-153" > < a href = "#Spark2.Parser-153" > < span class = "linenos" > 153< / span > < / a > < span class = "s2" > " BROADCAST" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " BROADCAST" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-154" > < a href = "#Spark2.Parser-154" > < span class = "linenos" > 154< / span > < / a > < span class = "s2" > " BROADCASTJOIN" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " BROADCASTJOIN" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-155" > < a href = "#Spark2.Parser-155" > < span class = "linenos" > 155< / span > < / a > < span class = "s2" > " MAPJOIN" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " MAPJOIN" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-156" > < a href = "#Spark2.Parser-156" > < span class = "linenos" > 156< / span > < / a > < span class = "s2" > " MERGE" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " MERGE" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-157" > < a href = "#Spark2.Parser-157" > < span class = "linenos" > 157< / span > < / a > < span class = "s2" > " SHUFFLEMERGE" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " SHUFFLEMERGE" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-158" > < a href = "#Spark2.Parser-158" > < span class = "linenos" > 158< / span > < / a > < span class = "s2" > " MERGEJOIN" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " MERGEJOIN" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-159" > < a href = "#Spark2.Parser-159" > < span class = "linenos" > 159< / span > < / a > < span class = "s2" > " SHUFFLE_HASH" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " SHUFFLE_HASH" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-160" > < a href = "#Spark2.Parser-160" > < span class = "linenos" > 160< / span > < / a > < span class = "s2" > " SHUFFLE_REPLICATE_NL" < / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_join_hint< / span > < span class = "p" > (< / span > < span class = "s2" > " SHUFFLE_REPLICATE_NL" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Parser-161" > < a href = "#Spark2.Parser-161" > < span class = "linenos" > 161< / span > < / a > < span class = "p" > }< / span >
< / span > < span id = "Spark2.Parser-162" > < a href = "#Spark2.Parser-162" > < span class = "linenos" > 162< / span > < / a >
< / span > < span id = "Spark2.Parser-163" > < a href = "#Spark2.Parser-163" > < span class = "linenos" > 163< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _parse_add_column< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ]:< / span >
< / span > < span id = "Spark2.Parser-164" > < a href = "#Spark2.Parser-164" > < span class = "linenos" > 164< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _match_text_seq< / span > < span class = "p" > (< / span > < span class = "s2" > " ADD" < / span > < span class = "p" > ,< / span > < span class = "s2" > " COLUMNS" < / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_schema< / span > < span class = "p" > ()< / span >
< / span > < span id = "Spark2.Parser-165" > < a href = "#Spark2.Parser-165" > < span class = "linenos" > 165< / span > < / a >
2025-02-13 16:00:14 +01:00
< / span > < span id = "Spark2.Parser-166" > < a href = "#Spark2.Parser-166" > < span class = "linenos" > 166< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _parse_drop_column< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > Optional< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Drop< / span > < span class = "o" > |< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Command< / span > < span class = "p" > ]:< / span >
2025-02-13 15:58:03 +01:00
< / span > < span id = "Spark2.Parser-167" > < a href = "#Spark2.Parser-167" > < span class = "linenos" > 167< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _match_text_seq< / span > < span class = "p" > (< / span > < span class = "s2" > " DROP" < / span > < span class = "p" > ,< / span > < span class = "s2" > " COLUMNS" < / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > expression< / span > < span class = "p" > (< / span >
2025-02-13 16:00:14 +01:00
< / span > < span id = "Spark2.Parser-168" > < a href = "#Spark2.Parser-168" > < span class = "linenos" > 168< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Drop< / span > < span class = "p" > ,< / span > < span class = "n" > this< / span > < span class = "o" > =< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > _parse_schema< / span > < span class = "p" > (),< / span > < span class = "n" > kind< / span > < span class = "o" > =< / span > < span class = "s2" > " COLUMNS" < / span >
< / span > < span id = "Spark2.Parser-169" > < a href = "#Spark2.Parser-169" > < span class = "linenos" > 169< / span > < / a > < span class = "p" > )< / span >
< / span > < span id = "Spark2.Parser-170" > < a href = "#Spark2.Parser-170" > < span class = "linenos" > 170< / span > < / a >
< / span > < span id = "Spark2.Parser-171" > < a href = "#Spark2.Parser-171" > < span class = "linenos" > 171< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > _pivot_column_names< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > aggregations< / span > < span class = "p" > :< / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Expression< / span > < span class = "p" > ])< / span > < span class = "o" > -> < / span > < span class = "n" > t< / span > < span class = "o" > .< / span > < span class = "n" > List< / span > < span class = "p" > [< / span > < span class = "nb" > str< / span > < span class = "p" > ]:< / span >
< / span > < span id = "Spark2.Parser-172" > < a href = "#Spark2.Parser-172" > < span class = "linenos" > 172< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > len< / span > < span class = "p" > (< / span > < span class = "n" > aggregations< / span > < span class = "p" > )< / span > < span class = "o" > ==< / span > < span class = "mi" > 1< / span > < span class = "p" > :< / span >
< / span > < span id = "Spark2.Parser-173" > < a href = "#Spark2.Parser-173" > < span class = "linenos" > 173< / span > < / a > < span class = "k" > return< / span > < span class = "p" > [< / span > < span class = "s2" > " " < / span > < span class = "p" > ]< / span >
< / span > < span id = "Spark2.Parser-174" > < a href = "#Spark2.Parser-174" > < span class = "linenos" > 174< / span > < / a > < span class = "k" > return< / span > < span class = "n" > pivot_column_names< / span > < span class = "p" > (< / span > < span class = "n" > aggregations< / span > < span class = "p" > ,< / span > < span class = "n" > dialect< / span > < span class = "o" > =< / span > < span class = "s2" > " spark" < / span > < span class = "p" > )< / span >
2025-02-13 15:52:54 +01:00
< / span > < / pre > < / div >
2025-02-13 16:00:14 +01:00
< div class = "docstring" > < p > Parser consumes a list of tokens produced by the Tokenizer and produces a parsed syntax tree.< / p >
2025-02-13 15:52:54 +01:00
< h6 id = "arguments" > Arguments:< / h6 >
< ul >
2025-02-13 16:00:14 +01:00
< li > < strong > error_level:< / strong > The desired error level.
2025-02-13 15:58:03 +01:00
Default: ErrorLevel.IMMEDIATE< / li >
2025-02-13 16:00:14 +01:00
< li > < strong > error_message_context:< / strong > Determines the amount of context to capture from a
2025-02-13 15:52:54 +01:00
query string when displaying the error message (in number of characters).
2025-02-13 16:00:14 +01:00
Default: 100< / li >
2025-02-13 15:52:54 +01:00
< li > < strong > max_errors:< / strong > Maximum number of error messages to include in a raised ParseError.
This is only relevant if error_level is ErrorLevel.RAISE.
Default: 3< / li >
< / ul >
< / div >
< div class = "inherited" >
< h5 > Inherited Members< / h5 >
< dl >
< div > < dt > < a href = "../parser.html#Parser" > sqlglot.parser.Parser< / a > < / dt >
< dd id = "Spark2.Parser.__init__" class = "function" > < a href = "../parser.html#Parser.__init__" > Parser< / a > < / dd >
< dd id = "Spark2.Parser.reset" class = "function" > < a href = "../parser.html#Parser.reset" > reset< / a > < / dd >
< dd id = "Spark2.Parser.parse" class = "function" > < a href = "../parser.html#Parser.parse" > parse< / a > < / dd >
< dd id = "Spark2.Parser.parse_into" class = "function" > < a href = "../parser.html#Parser.parse_into" > parse_into< / a > < / dd >
< dd id = "Spark2.Parser.check_errors" class = "function" > < a href = "../parser.html#Parser.check_errors" > check_errors< / a > < / dd >
< dd id = "Spark2.Parser.raise_error" class = "function" > < a href = "../parser.html#Parser.raise_error" > raise_error< / a > < / dd >
< dd id = "Spark2.Parser.expression" class = "function" > < a href = "../parser.html#Parser.expression" > expression< / a > < / dd >
< dd id = "Spark2.Parser.validate_expression" class = "function" > < a href = "../parser.html#Parser.validate_expression" > validate_expression< / a > < / dd >
< / div >
< / dl >
< / div >
< / section >
< section id = "Spark2.Generator" >
< input id = "Spark2.Generator-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr class" >
< span class = "def" > class< / span >
< span class = "name" > Spark2.Generator< / span > < wbr > (< span class = "base" > < a href = "hive.html#Hive.Generator" > sqlglot.dialects.hive.Hive.Generator< / a > < / span > ):
< label class = "view-source-button" for = "Spark2.Generator-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Spark2.Generator" > < / a >
2025-02-13 16:00:14 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Spark2.Generator-176" > < a href = "#Spark2.Generator-176" > < span class = "linenos" > 176< / span > < / a > < span class = "k" > class< / span > < span class = "nc" > Generator< / span > < span class = "p" > (< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Generator< / span > < span class = "p" > ):< / span >
< / span > < span id = "Spark2.Generator-177" > < a href = "#Spark2.Generator-177" > < span class = "linenos" > 177< / span > < / a > < span class = "n" > TYPE_MAPPING< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
< / span > < span id = "Spark2.Generator-178" > < a href = "#Spark2.Generator-178" > < span class = "linenos" > 178< / span > < / a > < span class = "o" > **< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Generator< / span > < span class = "o" > .< / span > < span class = "n" > TYPE_MAPPING< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-179" > < a href = "#Spark2.Generator-179" > < span class = "linenos" > 179< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DataType< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "o" > .< / span > < span class = "n" > TINYINT< / span > < span class = "p" > :< / span > < span class = "s2" > " BYTE" < / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-180" > < a href = "#Spark2.Generator-180" > < span class = "linenos" > 180< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DataType< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "o" > .< / span > < span class = "n" > SMALLINT< / span > < span class = "p" > :< / span > < span class = "s2" > " SHORT" < / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-181" > < a href = "#Spark2.Generator-181" > < span class = "linenos" > 181< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DataType< / span > < span class = "o" > .< / span > < span class = "n" > Type< / span > < span class = "o" > .< / span > < span class = "n" > BIGINT< / span > < span class = "p" > :< / span > < span class = "s2" > " LONG" < / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-182" > < a href = "#Spark2.Generator-182" > < span class = "linenos" > 182< / span > < / a > < span class = "p" > }< / span >
< / span > < span id = "Spark2.Generator-183" > < a href = "#Spark2.Generator-183" > < span class = "linenos" > 183< / span > < / a >
< / span > < span id = "Spark2.Generator-184" > < a href = "#Spark2.Generator-184" > < span class = "linenos" > 184< / span > < / a > < span class = "n" > PROPERTIES_LOCATION< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
< / span > < span id = "Spark2.Generator-185" > < a href = "#Spark2.Generator-185" > < span class = "linenos" > 185< / span > < / a > < span class = "o" > **< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Generator< / span > < span class = "o" > .< / span > < span class = "n" > PROPERTIES_LOCATION< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-186" > < a href = "#Spark2.Generator-186" > < span class = "linenos" > 186< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > EngineProperty< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Properties< / span > < span class = "o" > .< / span > < span class = "n" > Location< / span > < span class = "o" > .< / span > < span class = "n" > UNSUPPORTED< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-187" > < a href = "#Spark2.Generator-187" > < span class = "linenos" > 187< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > AutoIncrementProperty< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Properties< / span > < span class = "o" > .< / span > < span class = "n" > Location< / span > < span class = "o" > .< / span > < span class = "n" > UNSUPPORTED< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-188" > < a href = "#Spark2.Generator-188" > < span class = "linenos" > 188< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > CharacterSetProperty< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Properties< / span > < span class = "o" > .< / span > < span class = "n" > Location< / span > < span class = "o" > .< / span > < span class = "n" > UNSUPPORTED< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-189" > < a href = "#Spark2.Generator-189" > < span class = "linenos" > 189< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > CollateProperty< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Properties< / span > < span class = "o" > .< / span > < span class = "n" > Location< / span > < span class = "o" > .< / span > < span class = "n" > UNSUPPORTED< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-190" > < a href = "#Spark2.Generator-190" > < span class = "linenos" > 190< / span > < / a > < span class = "p" > }< / span >
< / span > < span id = "Spark2.Generator-191" > < a href = "#Spark2.Generator-191" > < span class = "linenos" > 191< / span > < / a >
< / span > < span id = "Spark2.Generator-192" > < a href = "#Spark2.Generator-192" > < span class = "linenos" > 192< / span > < / a > < span class = "n" > TRANSFORMS< / span > < span class = "o" > =< / span > < span class = "p" > {< / span >
< / span > < span id = "Spark2.Generator-193" > < a href = "#Spark2.Generator-193" > < span class = "linenos" > 193< / span > < / a > < span class = "o" > **< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Generator< / span > < span class = "o" > .< / span > < span class = "n" > TRANSFORMS< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-194" > < a href = "#Spark2.Generator-194" > < span class = "linenos" > 194< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ApproxDistinct< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " APPROX_COUNT_DISTINCT" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Generator-195" > < a href = "#Spark2.Generator-195" > < span class = "linenos" > 195< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ArraySum< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "sa" > f< / span > < span class = "s2" > " AGGREGATE(< / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' this' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > , 0, (acc, x) -> acc + x, acc -> acc)" < / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-196" > < a href = "#Spark2.Generator-196" > < span class = "linenos" > 196< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > AtTimeZone< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "sa" > f< / span > < span class = "s2" > " FROM_UTC_TIMESTAMP(< / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' this' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > , < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' zone' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-197" > < a href = "#Spark2.Generator-197" > < span class = "linenos" > 197< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > BitwiseLeftShift< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " SHIFTLEFT" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Generator-198" > < a href = "#Spark2.Generator-198" > < span class = "linenos" > 198< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > BitwiseRightShift< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " SHIFTRIGHT" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Generator-199" > < a href = "#Spark2.Generator-199" > < span class = "linenos" > 199< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Create< / span > < span class = "p" > :< / span > < span class = "n" > _create_sql< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-200" > < a href = "#Spark2.Generator-200" > < span class = "linenos" > 200< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DateFromParts< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " MAKE_DATE" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Generator-201" > < a href = "#Spark2.Generator-201" > < span class = "linenos" > 201< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DateTrunc< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " TRUNC" < / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "o" > .< / span > < span class = "n" > args< / span > < span class = "o" > .< / span > < span class = "n" > get< / span > < span class = "p" > (< / span > < span class = "s2" > " unit" < / span > < span class = "p" > )),< / span >
< / span > < span id = "Spark2.Generator-202" > < a href = "#Spark2.Generator-202" > < span class = "linenos" > 202< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DayOfMonth< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " DAYOFMONTH" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Generator-203" > < a href = "#Spark2.Generator-203" > < span class = "linenos" > 203< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DayOfWeek< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " DAYOFWEEK" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Generator-204" > < a href = "#Spark2.Generator-204" > < span class = "linenos" > 204< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DayOfYear< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " DAYOFYEAR" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Generator-205" > < a href = "#Spark2.Generator-205" > < span class = "linenos" > 205< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > FileFormatProperty< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "sa" > f< / span > < span class = "s2" > " USING < / span > < span class = "si" > {< / span > < span class = "n" > e< / span > < span class = "o" > .< / span > < span class = "n" > name< / span > < span class = "o" > .< / span > < span class = "n" > upper< / span > < span class = "p" > ()< / span > < span class = "si" > }< / span > < span class = "s2" > " < / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-206" > < a href = "#Spark2.Generator-206" > < span class = "linenos" > 206< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > From< / span > < span class = "p" > :< / span > < span class = "n" > transforms< / span > < span class = "o" > .< / span > < span class = "n" > preprocess< / span > < span class = "p" > ([< / span > < span class = "n" > _unalias_pivot< / span > < span class = "p" > ]),< / span >
< / span > < span id = "Spark2.Generator-207" > < a href = "#Spark2.Generator-207" > < span class = "linenos" > 207< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Hint< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "sa" > f< / span > < span class = "s2" > " /*+ < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > expressions< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > strip< / span > < span class = "p" > ()< / span > < span class = "si" > }< / span > < span class = "s2" > */" < / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-208" > < a href = "#Spark2.Generator-208" > < span class = "linenos" > 208< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > LogicalAnd< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " BOOL_AND" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Generator-209" > < a href = "#Spark2.Generator-209" > < span class = "linenos" > 209< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > LogicalOr< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " BOOL_OR" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Generator-210" > < a href = "#Spark2.Generator-210" > < span class = "linenos" > 210< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Map< / span > < span class = "p" > :< / span > < span class = "n" > _map_sql< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-211" > < a href = "#Spark2.Generator-211" > < span class = "linenos" > 211< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Pivot< / span > < span class = "p" > :< / span > < span class = "n" > transforms< / span > < span class = "o" > .< / span > < span class = "n" > preprocess< / span > < span class = "p" > ([< / span > < span class = "n" > _unqualify_pivot_columns< / span > < span class = "p" > ]),< / span >
< / span > < span id = "Spark2.Generator-212" > < a href = "#Spark2.Generator-212" > < span class = "linenos" > 212< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Reduce< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " AGGREGATE" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Generator-213" > < a href = "#Spark2.Generator-213" > < span class = "linenos" > 213< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrToDate< / span > < span class = "p" > :< / span > < span class = "n" > _str_to_date< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-214" > < a href = "#Spark2.Generator-214" > < span class = "linenos" > 214< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > StrToTime< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "sa" > f< / span > < span class = "s2" > " TO_TIMESTAMP(< / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' this' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > , < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > format_time< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > )" < / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-215" > < a href = "#Spark2.Generator-215" > < span class = "linenos" > 215< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > TimestampTrunc< / span > < span class = "p" > :< / span > < span class = "k" > lambda< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > e< / span > < span class = "p" > :< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span >
< / span > < span id = "Spark2.Generator-216" > < a href = "#Spark2.Generator-216" > < span class = "linenos" > 216< / span > < / a > < span class = "s2" > " DATE_TRUNC" < / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Literal< / span > < span class = "o" > .< / span > < span class = "n" > string< / span > < span class = "p" > (< / span > < span class = "n" > e< / span > < span class = "o" > .< / span > < span class = "n" > text< / span > < span class = "p" > (< / span > < span class = "s2" > " unit" < / span > < span class = "p" > )),< / span > < span class = "n" > e< / span > < span class = "o" > .< / span > < span class = "n" > this< / span >
< / span > < span id = "Spark2.Generator-217" > < a href = "#Spark2.Generator-217" > < span class = "linenos" > 217< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Generator-218" > < a href = "#Spark2.Generator-218" > < span class = "linenos" > 218< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Trim< / span > < span class = "p" > :< / span > < span class = "n" > trim_sql< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-219" > < a href = "#Spark2.Generator-219" > < span class = "linenos" > 219< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > UnixToTime< / span > < span class = "p" > :< / span > < span class = "n" > _unix_to_time_sql< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-220" > < a href = "#Spark2.Generator-220" > < span class = "linenos" > 220< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > VariancePop< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " VAR_POP" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Generator-221" > < a href = "#Spark2.Generator-221" > < span class = "linenos" > 221< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > WeekOfYear< / span > < span class = "p" > :< / span > < span class = "n" > rename_func< / span > < span class = "p" > (< / span > < span class = "s2" > " WEEKOFYEAR" < / span > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Generator-222" > < a href = "#Spark2.Generator-222" > < span class = "linenos" > 222< / span > < / a > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > WithinGroup< / span > < span class = "p" > :< / span > < span class = "n" > transforms< / span > < span class = "o" > .< / span > < span class = "n" > preprocess< / span > < span class = "p" > (< / span >
< / span > < span id = "Spark2.Generator-223" > < a href = "#Spark2.Generator-223" > < span class = "linenos" > 223< / span > < / a > < span class = "p" > [< / span > < span class = "n" > transforms< / span > < span class = "o" > .< / span > < span class = "n" > remove_within_group_for_percentiles< / span > < span class = "p" > ]< / span >
< / span > < span id = "Spark2.Generator-224" > < a href = "#Spark2.Generator-224" > < span class = "linenos" > 224< / span > < / a > < span class = "p" > ),< / span >
< / span > < span id = "Spark2.Generator-225" > < a href = "#Spark2.Generator-225" > < span class = "linenos" > 225< / span > < / a > < span class = "p" > }< / span >
< / span > < span id = "Spark2.Generator-226" > < a href = "#Spark2.Generator-226" > < span class = "linenos" > 226< / span > < / a > < span class = "n" > TRANSFORMS< / span > < span class = "o" > .< / span > < span class = "n" > pop< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ArrayJoin< / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2.Generator-227" > < a href = "#Spark2.Generator-227" > < span class = "linenos" > 227< / span > < / a > < span class = "n" > TRANSFORMS< / span > < span class = "o" > .< / span > < span class = "n" > pop< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ArraySort< / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2.Generator-228" > < a href = "#Spark2.Generator-228" > < span class = "linenos" > 228< / span > < / a > < span class = "n" > TRANSFORMS< / span > < span class = "o" > .< / span > < span class = "n" > pop< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ILike< / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2.Generator-229" > < a href = "#Spark2.Generator-229" > < span class = "linenos" > 229< / span > < / a > < span class = "n" > TRANSFORMS< / span > < span class = "o" > .< / span > < span class = "n" > pop< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Left< / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2.Generator-230" > < a href = "#Spark2.Generator-230" > < span class = "linenos" > 230< / span > < / a > < span class = "n" > TRANSFORMS< / span > < span class = "o" > .< / span > < span class = "n" > pop< / span > < span class = "p" > (< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Right< / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2.Generator-231" > < a href = "#Spark2.Generator-231" > < span class = "linenos" > 231< / span > < / a >
< / span > < span id = "Spark2.Generator-232" > < a href = "#Spark2.Generator-232" > < span class = "linenos" > 232< / span > < / a > < span class = "n" > WRAP_DERIVED_VALUES< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< / span > < span id = "Spark2.Generator-233" > < a href = "#Spark2.Generator-233" > < span class = "linenos" > 233< / span > < / a > < span class = "n" > CREATE_FUNCTION_RETURN_AS< / span > < span class = "o" > =< / span > < span class = "kc" > False< / span >
< / span > < span id = "Spark2.Generator-234" > < a href = "#Spark2.Generator-234" > < span class = "linenos" > 234< / span > < / a >
< / span > < span id = "Spark2.Generator-235" > < a href = "#Spark2.Generator-235" > < span class = "linenos" > 235< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > cast_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Cast< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "Spark2.Generator-236" > < a href = "#Spark2.Generator-236" > < span class = "linenos" > 236< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Cast< / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > is_type< / span > < span class = "p" > (< / span > < span class = "s2" > " json" < / span > < span class = "p" > ):< / span >
< / span > < span id = "Spark2.Generator-237" > < a href = "#Spark2.Generator-237" > < span class = "linenos" > 237< / span > < / a > < span class = "n" > schema< / span > < span class = "o" > =< / span > < span class = "sa" > f< / span > < span class = "s2" > " ' < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' to' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > ' " < / span >
< / span > < span id = "Spark2.Generator-238" > < a href = "#Spark2.Generator-238" > < span class = "linenos" > 238< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " FROM_JSON" < / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > schema< / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2.Generator-239" > < a href = "#Spark2.Generator-239" > < span class = "linenos" > 239< / span > < / a > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > is_type< / span > < span class = "p" > (< / span > < span class = "s2" > " json" < / span > < span class = "p" > ):< / span >
< / span > < span id = "Spark2.Generator-240" > < a href = "#Spark2.Generator-240" > < span class = "linenos" > 240< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " TO_JSON" < / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2.Generator-241" > < a href = "#Spark2.Generator-241" > < span class = "linenos" > 241< / span > < / a >
< / span > < span id = "Spark2.Generator-242" > < a href = "#Spark2.Generator-242" > < span class = "linenos" > 242< / span > < / a > < span class = "k" > return< / span > < span class = "nb" > super< / span > < span class = "p" > (< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "bp" > self< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > cast_sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
2025-02-13 15:58:03 +01:00
< / span > < span id = "Spark2.Generator-243" > < a href = "#Spark2.Generator-243" > < span class = "linenos" > 243< / span > < / a >
2025-02-13 16:00:14 +01:00
< / span > < span id = "Spark2.Generator-244" > < a href = "#Spark2.Generator-244" > < span class = "linenos" > 244< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > columndef_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ColumnDef< / span > < span class = "p" > ,< / span > < span class = "n" > sep< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "o" > =< / span > < span class = "s2" > " " < / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "Spark2.Generator-245" > < a href = "#Spark2.Generator-245" > < span class = "linenos" > 245< / span > < / a > < span class = "k" > return< / span > < span class = "nb" > super< / span > < span class = "p" > ()< / span > < span class = "o" > .< / span > < span class = "n" > columndef_sql< / span > < span class = "p" > (< / span >
< / span > < span id = "Spark2.Generator-246" > < a href = "#Spark2.Generator-246" > < span class = "linenos" > 246< / span > < / a > < span class = "n" > expression< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-247" > < a href = "#Spark2.Generator-247" > < span class = "linenos" > 247< / span > < / a > < span class = "n" > sep< / span > < span class = "o" > =< / span > < span class = "s2" > " : " < / span >
< / span > < span id = "Spark2.Generator-248" > < a href = "#Spark2.Generator-248" > < span class = "linenos" > 248< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > parent< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DataType< / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2.Generator-249" > < a href = "#Spark2.Generator-249" > < span class = "linenos" > 249< / span > < / a > < span class = "ow" > and< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > parent< / span > < span class = "o" > .< / span > < span class = "n" > is_type< / span > < span class = "p" > (< / span > < span class = "s2" > " struct" < / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2.Generator-250" > < a href = "#Spark2.Generator-250" > < span class = "linenos" > 250< / span > < / a > < span class = "k" > else< / span > < span class = "n" > sep< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator-251" > < a href = "#Spark2.Generator-251" > < span class = "linenos" > 251< / span > < / a > < span class = "p" > )< / span >
2025-02-13 15:52:54 +01:00
< / span > < / pre > < / div >
2025-02-13 16:00:14 +01:00
< div class = "docstring" > < p > Generator converts a given syntax tree to the corresponding SQL string.< / p >
2025-02-13 15:52:54 +01:00
< h6 id = "arguments" > Arguments:< / h6 >
< ul >
2025-02-13 16:00:14 +01:00
< li > < strong > pretty:< / strong > Whether or not to format the produced SQL string.
Default: False.< / li >
< li > < strong > identify:< / strong > Determines when an identifier should be quoted. Possible values are:
False (default): Never quote, except in cases where it's mandatory by the dialect.
True or 'always': Always quote.
'safe': Only quote identifiers that are case insensitive.< / li >
< li > < strong > normalize:< / strong > Whether or not to normalize identifiers to lowercase.
Default: False.< / li >
< li > < strong > pad:< / strong > Determines the pad size in a formatted string.
Default: 2.< / li >
< li > < strong > indent:< / strong > Determines the indentation size in a formatted string.
Default: 2.< / li >
< li > < strong > normalize_functions:< / strong > Whether or not to normalize all function names. Possible values are:
"upper" or True (default): Convert names to uppercase.
"lower": Convert names to lowercase.
False: Disables function name normalization.< / li >
< li > < strong > unsupported_level:< / strong > Determines the generator's behavior when it encounters unsupported expressions.
Default ErrorLevel.WARN.< / li >
< li > < strong > max_unsupported:< / strong > Maximum number of unsupported messages to include in a raised UnsupportedError.
2025-02-13 15:52:54 +01:00
This is only relevant if unsupported_level is ErrorLevel.RAISE.
Default: 3< / li >
2025-02-13 16:00:14 +01:00
< li > < strong > leading_comma:< / strong > Determines whether or not the comma is leading or trailing in select expressions.
This is only relevant when generating in pretty mode.
2025-02-13 15:52:54 +01:00
Default: False< / li >
< li > < strong > max_text_width:< / strong > The max number of characters in a segment before creating new lines in pretty mode.
The default is on the smaller end because the length only represents a segment and not the true
line length.
Default: 80< / li >
< li > < strong > comments:< / strong > Whether or not to preserve comments in the output SQL code.
Default: True< / li >
< / ul >
< / div >
< div id = "Spark2.Generator.cast_sql" class = "classattr" >
< input id = "Spark2.Generator.cast_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > cast_sql< / span > < span class = "signature pdoc-code condensed" > (< span class = "param" > < span class = "bp" > self< / span > , < / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#Cast" > sqlglot.expressions.Cast< / a > < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "Spark2.Generator.cast_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Spark2.Generator.cast_sql" > < / a >
2025-02-13 16:00:14 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Spark2.Generator.cast_sql-235" > < a href = "#Spark2.Generator.cast_sql-235" > < span class = "linenos" > 235< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > cast_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Cast< / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "Spark2.Generator.cast_sql-236" > < a href = "#Spark2.Generator.cast_sql-236" > < span class = "linenos" > 236< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > Cast< / span > < span class = "p" > )< / span > < span class = "ow" > and< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > is_type< / span > < span class = "p" > (< / span > < span class = "s2" > " json" < / span > < span class = "p" > ):< / span >
< / span > < span id = "Spark2.Generator.cast_sql-237" > < a href = "#Spark2.Generator.cast_sql-237" > < span class = "linenos" > 237< / span > < / a > < span class = "n" > schema< / span > < span class = "o" > =< / span > < span class = "sa" > f< / span > < span class = "s2" > " ' < / span > < span class = "si" > {< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > ,< / span > < span class = "w" > < / span > < span class = "s1" > ' to' < / span > < span class = "p" > )< / span > < span class = "si" > }< / span > < span class = "s2" > ' " < / span >
< / span > < span id = "Spark2.Generator.cast_sql-238" > < a href = "#Spark2.Generator.cast_sql-238" > < span class = "linenos" > 238< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " FROM_JSON" < / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > ,< / span > < span class = "n" > schema< / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2.Generator.cast_sql-239" > < a href = "#Spark2.Generator.cast_sql-239" > < span class = "linenos" > 239< / span > < / a > < span class = "k" > if< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > is_type< / span > < span class = "p" > (< / span > < span class = "s2" > " json" < / span > < span class = "p" > ):< / span >
< / span > < span id = "Spark2.Generator.cast_sql-240" > < a href = "#Spark2.Generator.cast_sql-240" > < span class = "linenos" > 240< / span > < / a > < span class = "k" > return< / span > < span class = "bp" > self< / span > < span class = "o" > .< / span > < span class = "n" > func< / span > < span class = "p" > (< / span > < span class = "s2" > " TO_JSON" < / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > this< / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2.Generator.cast_sql-241" > < a href = "#Spark2.Generator.cast_sql-241" > < span class = "linenos" > 241< / span > < / a >
< / span > < span id = "Spark2.Generator.cast_sql-242" > < a href = "#Spark2.Generator.cast_sql-242" > < span class = "linenos" > 242< / span > < / a > < span class = "k" > return< / span > < span class = "nb" > super< / span > < span class = "p" > (< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Generator< / span > < span class = "p" > ,< / span > < span class = "bp" > self< / span > < span class = "p" > )< / span > < span class = "o" > .< / span > < span class = "n" > cast_sql< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "p" > )< / span >
2025-02-13 15:56:32 +01:00
< / span > < / pre > < / div >
< / div >
< div id = "Spark2.Generator.columndef_sql" class = "classattr" >
< input id = "Spark2.Generator.columndef_sql-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< span class = "def" > def< / span >
< span class = "name" > columndef_sql< / span > < span class = "signature pdoc-code condensed" > (< span class = "param" > < span class = "bp" > self< / span > , < / span > < span class = "param" > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > < a href = "../expressions.html#ColumnDef" > sqlglot.expressions.ColumnDef< / a > < / span > , < / span > < span class = "param" > < span class = "n" > sep< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "o" > =< / span > < span class = "s1" > ' ' < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > str< / span > :< / span > < / span >
< label class = "view-source-button" for = "Spark2.Generator.columndef_sql-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Spark2.Generator.columndef_sql" > < / a >
2025-02-13 16:00:14 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Spark2.Generator.columndef_sql-244" > < a href = "#Spark2.Generator.columndef_sql-244" > < span class = "linenos" > 244< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > columndef_sql< / span > < span class = "p" > (< / span > < span class = "bp" > self< / span > < span class = "p" > ,< / span > < span class = "n" > expression< / span > < span class = "p" > :< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > ColumnDef< / span > < span class = "p" > ,< / span > < span class = "n" > sep< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "o" > =< / span > < span class = "s2" > " " < / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > str< / span > < span class = "p" > :< / span >
< / span > < span id = "Spark2.Generator.columndef_sql-245" > < a href = "#Spark2.Generator.columndef_sql-245" > < span class = "linenos" > 245< / span > < / a > < span class = "k" > return< / span > < span class = "nb" > super< / span > < span class = "p" > ()< / span > < span class = "o" > .< / span > < span class = "n" > columndef_sql< / span > < span class = "p" > (< / span >
< / span > < span id = "Spark2.Generator.columndef_sql-246" > < a href = "#Spark2.Generator.columndef_sql-246" > < span class = "linenos" > 246< / span > < / a > < span class = "n" > expression< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator.columndef_sql-247" > < a href = "#Spark2.Generator.columndef_sql-247" > < span class = "linenos" > 247< / span > < / a > < span class = "n" > sep< / span > < span class = "o" > =< / span > < span class = "s2" > " : " < / span >
< / span > < span id = "Spark2.Generator.columndef_sql-248" > < a href = "#Spark2.Generator.columndef_sql-248" > < span class = "linenos" > 248< / span > < / a > < span class = "k" > if< / span > < span class = "nb" > isinstance< / span > < span class = "p" > (< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > parent< / span > < span class = "p" > ,< / span > < span class = "n" > exp< / span > < span class = "o" > .< / span > < span class = "n" > DataType< / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2.Generator.columndef_sql-249" > < a href = "#Spark2.Generator.columndef_sql-249" > < span class = "linenos" > 249< / span > < / a > < span class = "ow" > and< / span > < span class = "n" > expression< / span > < span class = "o" > .< / span > < span class = "n" > parent< / span > < span class = "o" > .< / span > < span class = "n" > is_type< / span > < span class = "p" > (< / span > < span class = "s2" > " struct" < / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2.Generator.columndef_sql-250" > < a href = "#Spark2.Generator.columndef_sql-250" > < span class = "linenos" > 250< / span > < / a > < span class = "k" > else< / span > < span class = "n" > sep< / span > < span class = "p" > ,< / span >
< / span > < span id = "Spark2.Generator.columndef_sql-251" > < a href = "#Spark2.Generator.columndef_sql-251" > < span class = "linenos" > 251< / span > < / a > < span class = "p" > )< / span >
2025-02-13 15:52:54 +01:00
< / span > < / pre > < / div >
2025-02-13 20:04:17 +01:00
< / div >
< div id = "Spark2.Generator.can_identify" class = "classattr" >
< input id = "Spark2.Generator.can_identify-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr function" >
< div class = "decorator" > @classmethod< / div >
< span class = "def" > def< / span >
< span class = "name" > can_identify< / span > < span class = "signature pdoc-code condensed" > (< span class = "param" > < span class = "n" > text< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > , < / span > < span class = "param" > < span class = "n" > identify< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "o" > |< / span > < span class = "nb" > bool< / span > < span class = "o" > =< / span > < span class = "s1" > ' safe' < / span > < / span > < span class = "return-annotation" > ) -> < span class = "nb" > bool< / span > :< / span > < / span >
< label class = "view-source-button" for = "Spark2.Generator.can_identify-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Spark2.Generator.can_identify" > < / a >
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Spark2.Generator.can_identify-247" > < a href = "#Spark2.Generator.can_identify-247" > < span class = "linenos" > 247< / span > < / a > < span class = "nd" > @classmethod< / span >
< / span > < span id = "Spark2.Generator.can_identify-248" > < a href = "#Spark2.Generator.can_identify-248" > < span class = "linenos" > 248< / span > < / a > < span class = "k" > def< / span > < span class = "nf" > can_identify< / span > < span class = "p" > (< / span > < span class = "bp" > cls< / span > < span class = "p" > ,< / span > < span class = "n" > text< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "p" > ,< / span > < span class = "n" > identify< / span > < span class = "p" > :< / span > < span class = "nb" > str< / span > < span class = "o" > |< / span > < span class = "nb" > bool< / span > < span class = "o" > =< / span > < span class = "s2" > " safe" < / span > < span class = "p" > )< / span > < span class = "o" > -> < / span > < span class = "nb" > bool< / span > < span class = "p" > :< / span >
< / span > < span id = "Spark2.Generator.can_identify-249" > < a href = "#Spark2.Generator.can_identify-249" > < span class = "linenos" > 249< / span > < / a > < span class = "w" > < / span > < span class = "sd" > " " " Checks if text can be identified given an identify option.< / span >
< / span > < span id = "Spark2.Generator.can_identify-250" > < a href = "#Spark2.Generator.can_identify-250" > < span class = "linenos" > 250< / span > < / a >
< / span > < span id = "Spark2.Generator.can_identify-251" > < a href = "#Spark2.Generator.can_identify-251" > < span class = "linenos" > 251< / span > < / a > < span class = "sd" > Args:< / span >
< / span > < span id = "Spark2.Generator.can_identify-252" > < a href = "#Spark2.Generator.can_identify-252" > < span class = "linenos" > 252< / span > < / a > < span class = "sd" > text: The text to check.< / span >
< / span > < span id = "Spark2.Generator.can_identify-253" > < a href = "#Spark2.Generator.can_identify-253" > < span class = "linenos" > 253< / span > < / a > < span class = "sd" > identify:< / span >
< / span > < span id = "Spark2.Generator.can_identify-254" > < a href = "#Spark2.Generator.can_identify-254" > < span class = "linenos" > 254< / span > < / a > < span class = "sd" > " always" or `True`: Always returns true.< / span >
< / span > < span id = "Spark2.Generator.can_identify-255" > < a href = "#Spark2.Generator.can_identify-255" > < span class = "linenos" > 255< / span > < / a > < span class = "sd" > " safe" : True if the identifier is case-insensitive.< / span >
< / span > < span id = "Spark2.Generator.can_identify-256" > < a href = "#Spark2.Generator.can_identify-256" > < span class = "linenos" > 256< / span > < / a >
< / span > < span id = "Spark2.Generator.can_identify-257" > < a href = "#Spark2.Generator.can_identify-257" > < span class = "linenos" > 257< / span > < / a > < span class = "sd" > Returns:< / span >
< / span > < span id = "Spark2.Generator.can_identify-258" > < a href = "#Spark2.Generator.can_identify-258" > < span class = "linenos" > 258< / span > < / a > < span class = "sd" > Whether or not the given text can be identified.< / span >
< / span > < span id = "Spark2.Generator.can_identify-259" > < a href = "#Spark2.Generator.can_identify-259" > < span class = "linenos" > 259< / span > < / a > < span class = "sd" > " " " < / span >
< / span > < span id = "Spark2.Generator.can_identify-260" > < a href = "#Spark2.Generator.can_identify-260" > < span class = "linenos" > 260< / span > < / a > < span class = "k" > if< / span > < span class = "n" > identify< / span > < span class = "ow" > is< / span > < span class = "kc" > True< / span > < span class = "ow" > or< / span > < span class = "n" > identify< / span > < span class = "o" > ==< / span > < span class = "s2" > " always" < / span > < span class = "p" > :< / span >
< / span > < span id = "Spark2.Generator.can_identify-261" > < a href = "#Spark2.Generator.can_identify-261" > < span class = "linenos" > 261< / span > < / a > < span class = "k" > return< / span > < span class = "kc" > True< / span >
< / span > < span id = "Spark2.Generator.can_identify-262" > < a href = "#Spark2.Generator.can_identify-262" > < span class = "linenos" > 262< / span > < / a >
< / span > < span id = "Spark2.Generator.can_identify-263" > < a href = "#Spark2.Generator.can_identify-263" > < span class = "linenos" > 263< / span > < / a > < span class = "k" > if< / span > < span class = "n" > identify< / span > < span class = "o" > ==< / span > < span class = "s2" > " safe" < / span > < span class = "p" > :< / span >
< / span > < span id = "Spark2.Generator.can_identify-264" > < a href = "#Spark2.Generator.can_identify-264" > < span class = "linenos" > 264< / span > < / a > < span class = "k" > return< / span > < span class = "ow" > not< / span > < span class = "bp" > cls< / span > < span class = "o" > .< / span > < span class = "n" > case_sensitive< / span > < span class = "p" > (< / span > < span class = "n" > text< / span > < span class = "p" > )< / span >
< / span > < span id = "Spark2.Generator.can_identify-265" > < a href = "#Spark2.Generator.can_identify-265" > < span class = "linenos" > 265< / span > < / a >
< / span > < span id = "Spark2.Generator.can_identify-266" > < a href = "#Spark2.Generator.can_identify-266" > < span class = "linenos" > 266< / span > < / a > < span class = "k" > return< / span > < span class = "kc" > False< / span >
< / span > < / pre > < / div >
< div class = "docstring" > < p > Checks if text can be identified given an identify option.< / p >
< h6 id = "arguments" > Arguments:< / h6 >
< ul >
< li > < strong > text:< / strong > The text to check.< / li >
< li > < strong > identify:< / strong > "always" or < code > True< / code > : Always returns true.
"safe": True if the identifier is case-insensitive.< / li >
< / ul >
< h6 id = "returns" > Returns:< / h6 >
< blockquote >
< p > Whether or not the given text can be identified.< / p >
< / blockquote >
< / div >
2025-02-13 15:52:54 +01:00
< / div >
< div class = "inherited" >
< h5 > Inherited Members< / h5 >
< dl >
< div > < dt > < a href = "../generator.html#Generator" > sqlglot.generator.Generator< / a > < / dt >
< dd id = "Spark2.Generator.__init__" class = "function" > < a href = "../generator.html#Generator.__init__" > Generator< / a > < / dd >
< dd id = "Spark2.Generator.generate" class = "function" > < a href = "../generator.html#Generator.generate" > generate< / a > < / dd >
< dd id = "Spark2.Generator.unsupported" class = "function" > < a href = "../generator.html#Generator.unsupported" > unsupported< / a > < / dd >
< dd id = "Spark2.Generator.sep" class = "function" > < a href = "../generator.html#Generator.sep" > sep< / a > < / dd >
< dd id = "Spark2.Generator.seg" class = "function" > < a href = "../generator.html#Generator.seg" > seg< / a > < / dd >
< dd id = "Spark2.Generator.pad_comment" class = "function" > < a href = "../generator.html#Generator.pad_comment" > pad_comment< / a > < / dd >
< dd id = "Spark2.Generator.maybe_comment" class = "function" > < a href = "../generator.html#Generator.maybe_comment" > maybe_comment< / a > < / dd >
< dd id = "Spark2.Generator.wrap" class = "function" > < a href = "../generator.html#Generator.wrap" > wrap< / a > < / dd >
< dd id = "Spark2.Generator.no_identify" class = "function" > < a href = "../generator.html#Generator.no_identify" > no_identify< / a > < / dd >
< dd id = "Spark2.Generator.normalize_func" class = "function" > < a href = "../generator.html#Generator.normalize_func" > normalize_func< / a > < / dd >
< dd id = "Spark2.Generator.indent" class = "function" > < a href = "../generator.html#Generator.indent" > indent< / a > < / dd >
< dd id = "Spark2.Generator.sql" class = "function" > < a href = "../generator.html#Generator.sql" > sql< / a > < / dd >
< dd id = "Spark2.Generator.uncache_sql" class = "function" > < a href = "../generator.html#Generator.uncache_sql" > uncache_sql< / a > < / dd >
< dd id = "Spark2.Generator.cache_sql" class = "function" > < a href = "../generator.html#Generator.cache_sql" > cache_sql< / a > < / dd >
< dd id = "Spark2.Generator.characterset_sql" class = "function" > < a href = "../generator.html#Generator.characterset_sql" > characterset_sql< / a > < / dd >
< dd id = "Spark2.Generator.column_sql" class = "function" > < a href = "../generator.html#Generator.column_sql" > column_sql< / a > < / dd >
< dd id = "Spark2.Generator.columnposition_sql" class = "function" > < a href = "../generator.html#Generator.columnposition_sql" > columnposition_sql< / a > < / dd >
< dd id = "Spark2.Generator.columnconstraint_sql" class = "function" > < a href = "../generator.html#Generator.columnconstraint_sql" > columnconstraint_sql< / a > < / dd >
< dd id = "Spark2.Generator.autoincrementcolumnconstraint_sql" class = "function" > < a href = "../generator.html#Generator.autoincrementcolumnconstraint_sql" > autoincrementcolumnconstraint_sql< / a > < / dd >
< dd id = "Spark2.Generator.compresscolumnconstraint_sql" class = "function" > < a href = "../generator.html#Generator.compresscolumnconstraint_sql" > compresscolumnconstraint_sql< / a > < / dd >
< dd id = "Spark2.Generator.generatedasidentitycolumnconstraint_sql" class = "function" > < a href = "../generator.html#Generator.generatedasidentitycolumnconstraint_sql" > generatedasidentitycolumnconstraint_sql< / a > < / dd >
< dd id = "Spark2.Generator.notnullcolumnconstraint_sql" class = "function" > < a href = "../generator.html#Generator.notnullcolumnconstraint_sql" > notnullcolumnconstraint_sql< / a > < / dd >
< dd id = "Spark2.Generator.primarykeycolumnconstraint_sql" class = "function" > < a href = "../generator.html#Generator.primarykeycolumnconstraint_sql" > primarykeycolumnconstraint_sql< / a > < / dd >
< dd id = "Spark2.Generator.uniquecolumnconstraint_sql" class = "function" > < a href = "../generator.html#Generator.uniquecolumnconstraint_sql" > uniquecolumnconstraint_sql< / a > < / dd >
2025-02-13 16:00:14 +01:00
< dd id = "Spark2.Generator.createable_sql" class = "function" > < a href = "../generator.html#Generator.createable_sql" > createable_sql< / a > < / dd >
2025-02-13 15:52:54 +01:00
< dd id = "Spark2.Generator.create_sql" class = "function" > < a href = "../generator.html#Generator.create_sql" > create_sql< / a > < / dd >
2025-02-13 15:56:32 +01:00
< dd id = "Spark2.Generator.clone_sql" class = "function" > < a href = "../generator.html#Generator.clone_sql" > clone_sql< / a > < / dd >
2025-02-13 15:52:54 +01:00
< dd id = "Spark2.Generator.describe_sql" class = "function" > < a href = "../generator.html#Generator.describe_sql" > describe_sql< / a > < / dd >
< dd id = "Spark2.Generator.prepend_ctes" class = "function" > < a href = "../generator.html#Generator.prepend_ctes" > prepend_ctes< / a > < / dd >
< dd id = "Spark2.Generator.with_sql" class = "function" > < a href = "../generator.html#Generator.with_sql" > with_sql< / a > < / dd >
< dd id = "Spark2.Generator.cte_sql" class = "function" > < a href = "../generator.html#Generator.cte_sql" > cte_sql< / a > < / dd >
< dd id = "Spark2.Generator.tablealias_sql" class = "function" > < a href = "../generator.html#Generator.tablealias_sql" > tablealias_sql< / a > < / dd >
< dd id = "Spark2.Generator.bitstring_sql" class = "function" > < a href = "../generator.html#Generator.bitstring_sql" > bitstring_sql< / a > < / dd >
< dd id = "Spark2.Generator.hexstring_sql" class = "function" > < a href = "../generator.html#Generator.hexstring_sql" > hexstring_sql< / a > < / dd >
< dd id = "Spark2.Generator.bytestring_sql" class = "function" > < a href = "../generator.html#Generator.bytestring_sql" > bytestring_sql< / a > < / dd >
2025-02-13 15:56:32 +01:00
< dd id = "Spark2.Generator.rawstring_sql" class = "function" > < a href = "../generator.html#Generator.rawstring_sql" > rawstring_sql< / a > < / dd >
< dd id = "Spark2.Generator.datatypesize_sql" class = "function" > < a href = "../generator.html#Generator.datatypesize_sql" > datatypesize_sql< / a > < / dd >
2025-02-13 15:52:54 +01:00
< dd id = "Spark2.Generator.directory_sql" class = "function" > < a href = "../generator.html#Generator.directory_sql" > directory_sql< / a > < / dd >
< dd id = "Spark2.Generator.delete_sql" class = "function" > < a href = "../generator.html#Generator.delete_sql" > delete_sql< / a > < / dd >
< dd id = "Spark2.Generator.drop_sql" class = "function" > < a href = "../generator.html#Generator.drop_sql" > drop_sql< / a > < / dd >
< dd id = "Spark2.Generator.except_sql" class = "function" > < a href = "../generator.html#Generator.except_sql" > except_sql< / a > < / dd >
< dd id = "Spark2.Generator.except_op" class = "function" > < a href = "../generator.html#Generator.except_op" > except_op< / a > < / dd >
< dd id = "Spark2.Generator.fetch_sql" class = "function" > < a href = "../generator.html#Generator.fetch_sql" > fetch_sql< / a > < / dd >
< dd id = "Spark2.Generator.filter_sql" class = "function" > < a href = "../generator.html#Generator.filter_sql" > filter_sql< / a > < / dd >
< dd id = "Spark2.Generator.hint_sql" class = "function" > < a href = "../generator.html#Generator.hint_sql" > hint_sql< / a > < / dd >
< dd id = "Spark2.Generator.index_sql" class = "function" > < a href = "../generator.html#Generator.index_sql" > index_sql< / a > < / dd >
< dd id = "Spark2.Generator.identifier_sql" class = "function" > < a href = "../generator.html#Generator.identifier_sql" > identifier_sql< / a > < / dd >
< dd id = "Spark2.Generator.inputoutputformat_sql" class = "function" > < a href = "../generator.html#Generator.inputoutputformat_sql" > inputoutputformat_sql< / a > < / dd >
< dd id = "Spark2.Generator.national_sql" class = "function" > < a href = "../generator.html#Generator.national_sql" > national_sql< / a > < / dd >
< dd id = "Spark2.Generator.partition_sql" class = "function" > < a href = "../generator.html#Generator.partition_sql" > partition_sql< / a > < / dd >
< dd id = "Spark2.Generator.properties_sql" class = "function" > < a href = "../generator.html#Generator.properties_sql" > properties_sql< / a > < / dd >
< dd id = "Spark2.Generator.root_properties" class = "function" > < a href = "../generator.html#Generator.root_properties" > root_properties< / a > < / dd >
< dd id = "Spark2.Generator.properties" class = "function" > < a href = "../generator.html#Generator.properties" > properties< / a > < / dd >
< dd id = "Spark2.Generator.locate_properties" class = "function" > < a href = "../generator.html#Generator.locate_properties" > locate_properties< / a > < / dd >
< dd id = "Spark2.Generator.property_sql" class = "function" > < a href = "../generator.html#Generator.property_sql" > property_sql< / a > < / dd >
< dd id = "Spark2.Generator.likeproperty_sql" class = "function" > < a href = "../generator.html#Generator.likeproperty_sql" > likeproperty_sql< / a > < / dd >
< dd id = "Spark2.Generator.fallbackproperty_sql" class = "function" > < a href = "../generator.html#Generator.fallbackproperty_sql" > fallbackproperty_sql< / a > < / dd >
< dd id = "Spark2.Generator.journalproperty_sql" class = "function" > < a href = "../generator.html#Generator.journalproperty_sql" > journalproperty_sql< / a > < / dd >
< dd id = "Spark2.Generator.freespaceproperty_sql" class = "function" > < a href = "../generator.html#Generator.freespaceproperty_sql" > freespaceproperty_sql< / a > < / dd >
< dd id = "Spark2.Generator.checksumproperty_sql" class = "function" > < a href = "../generator.html#Generator.checksumproperty_sql" > checksumproperty_sql< / a > < / dd >
< dd id = "Spark2.Generator.mergeblockratioproperty_sql" class = "function" > < a href = "../generator.html#Generator.mergeblockratioproperty_sql" > mergeblockratioproperty_sql< / a > < / dd >
< dd id = "Spark2.Generator.datablocksizeproperty_sql" class = "function" > < a href = "../generator.html#Generator.datablocksizeproperty_sql" > datablocksizeproperty_sql< / a > < / dd >
< dd id = "Spark2.Generator.blockcompressionproperty_sql" class = "function" > < a href = "../generator.html#Generator.blockcompressionproperty_sql" > blockcompressionproperty_sql< / a > < / dd >
< dd id = "Spark2.Generator.isolatedloadingproperty_sql" class = "function" > < a href = "../generator.html#Generator.isolatedloadingproperty_sql" > isolatedloadingproperty_sql< / a > < / dd >
< dd id = "Spark2.Generator.lockingproperty_sql" class = "function" > < a href = "../generator.html#Generator.lockingproperty_sql" > lockingproperty_sql< / a > < / dd >
< dd id = "Spark2.Generator.withdataproperty_sql" class = "function" > < a href = "../generator.html#Generator.withdataproperty_sql" > withdataproperty_sql< / a > < / dd >
< dd id = "Spark2.Generator.insert_sql" class = "function" > < a href = "../generator.html#Generator.insert_sql" > insert_sql< / a > < / dd >
< dd id = "Spark2.Generator.intersect_sql" class = "function" > < a href = "../generator.html#Generator.intersect_sql" > intersect_sql< / a > < / dd >
< dd id = "Spark2.Generator.intersect_op" class = "function" > < a href = "../generator.html#Generator.intersect_op" > intersect_op< / a > < / dd >
< dd id = "Spark2.Generator.introducer_sql" class = "function" > < a href = "../generator.html#Generator.introducer_sql" > introducer_sql< / a > < / dd >
< dd id = "Spark2.Generator.pseudotype_sql" class = "function" > < a href = "../generator.html#Generator.pseudotype_sql" > pseudotype_sql< / a > < / dd >
< dd id = "Spark2.Generator.onconflict_sql" class = "function" > < a href = "../generator.html#Generator.onconflict_sql" > onconflict_sql< / a > < / dd >
< dd id = "Spark2.Generator.returning_sql" class = "function" > < a href = "../generator.html#Generator.returning_sql" > returning_sql< / a > < / dd >
< dd id = "Spark2.Generator.rowformatdelimitedproperty_sql" class = "function" > < a href = "../generator.html#Generator.rowformatdelimitedproperty_sql" > rowformatdelimitedproperty_sql< / a > < / dd >
< dd id = "Spark2.Generator.table_sql" class = "function" > < a href = "../generator.html#Generator.table_sql" > table_sql< / a > < / dd >
< dd id = "Spark2.Generator.tablesample_sql" class = "function" > < a href = "../generator.html#Generator.tablesample_sql" > tablesample_sql< / a > < / dd >
< dd id = "Spark2.Generator.pivot_sql" class = "function" > < a href = "../generator.html#Generator.pivot_sql" > pivot_sql< / a > < / dd >
< dd id = "Spark2.Generator.tuple_sql" class = "function" > < a href = "../generator.html#Generator.tuple_sql" > tuple_sql< / a > < / dd >
< dd id = "Spark2.Generator.update_sql" class = "function" > < a href = "../generator.html#Generator.update_sql" > update_sql< / a > < / dd >
< dd id = "Spark2.Generator.values_sql" class = "function" > < a href = "../generator.html#Generator.values_sql" > values_sql< / a > < / dd >
< dd id = "Spark2.Generator.var_sql" class = "function" > < a href = "../generator.html#Generator.var_sql" > var_sql< / a > < / dd >
< dd id = "Spark2.Generator.into_sql" class = "function" > < a href = "../generator.html#Generator.into_sql" > into_sql< / a > < / dd >
< dd id = "Spark2.Generator.from_sql" class = "function" > < a href = "../generator.html#Generator.from_sql" > from_sql< / a > < / dd >
< dd id = "Spark2.Generator.group_sql" class = "function" > < a href = "../generator.html#Generator.group_sql" > group_sql< / a > < / dd >
< dd id = "Spark2.Generator.having_sql" class = "function" > < a href = "../generator.html#Generator.having_sql" > having_sql< / a > < / dd >
< dd id = "Spark2.Generator.join_sql" class = "function" > < a href = "../generator.html#Generator.join_sql" > join_sql< / a > < / dd >
< dd id = "Spark2.Generator.lambda_sql" class = "function" > < a href = "../generator.html#Generator.lambda_sql" > lambda_sql< / a > < / dd >
< dd id = "Spark2.Generator.lateral_sql" class = "function" > < a href = "../generator.html#Generator.lateral_sql" > lateral_sql< / a > < / dd >
< dd id = "Spark2.Generator.limit_sql" class = "function" > < a href = "../generator.html#Generator.limit_sql" > limit_sql< / a > < / dd >
< dd id = "Spark2.Generator.offset_sql" class = "function" > < a href = "../generator.html#Generator.offset_sql" > offset_sql< / a > < / dd >
< dd id = "Spark2.Generator.setitem_sql" class = "function" > < a href = "../generator.html#Generator.setitem_sql" > setitem_sql< / a > < / dd >
< dd id = "Spark2.Generator.set_sql" class = "function" > < a href = "../generator.html#Generator.set_sql" > set_sql< / a > < / dd >
< dd id = "Spark2.Generator.pragma_sql" class = "function" > < a href = "../generator.html#Generator.pragma_sql" > pragma_sql< / a > < / dd >
< dd id = "Spark2.Generator.lock_sql" class = "function" > < a href = "../generator.html#Generator.lock_sql" > lock_sql< / a > < / dd >
< dd id = "Spark2.Generator.literal_sql" class = "function" > < a href = "../generator.html#Generator.literal_sql" > literal_sql< / a > < / dd >
2025-02-13 20:04:17 +01:00
< dd id = "Spark2.Generator.escape_str" class = "function" > < a href = "../generator.html#Generator.escape_str" > escape_str< / a > < / dd >
2025-02-13 15:52:54 +01:00
< dd id = "Spark2.Generator.loaddata_sql" class = "function" > < a href = "../generator.html#Generator.loaddata_sql" > loaddata_sql< / a > < / dd >
< dd id = "Spark2.Generator.null_sql" class = "function" > < a href = "../generator.html#Generator.null_sql" > null_sql< / a > < / dd >
< dd id = "Spark2.Generator.boolean_sql" class = "function" > < a href = "../generator.html#Generator.boolean_sql" > boolean_sql< / a > < / dd >
< dd id = "Spark2.Generator.order_sql" class = "function" > < a href = "../generator.html#Generator.order_sql" > order_sql< / a > < / dd >
< dd id = "Spark2.Generator.cluster_sql" class = "function" > < a href = "../generator.html#Generator.cluster_sql" > cluster_sql< / a > < / dd >
< dd id = "Spark2.Generator.distribute_sql" class = "function" > < a href = "../generator.html#Generator.distribute_sql" > distribute_sql< / a > < / dd >
< dd id = "Spark2.Generator.sort_sql" class = "function" > < a href = "../generator.html#Generator.sort_sql" > sort_sql< / a > < / dd >
< dd id = "Spark2.Generator.ordered_sql" class = "function" > < a href = "../generator.html#Generator.ordered_sql" > ordered_sql< / a > < / dd >
< dd id = "Spark2.Generator.matchrecognize_sql" class = "function" > < a href = "../generator.html#Generator.matchrecognize_sql" > matchrecognize_sql< / a > < / dd >
< dd id = "Spark2.Generator.query_modifiers" class = "function" > < a href = "../generator.html#Generator.query_modifiers" > query_modifiers< / a > < / dd >
2025-02-13 16:00:14 +01:00
< dd id = "Spark2.Generator.offset_limit_modifiers" class = "function" > < a href = "../generator.html#Generator.offset_limit_modifiers" > offset_limit_modifiers< / a > < / dd >
2025-02-13 15:56:32 +01:00
< dd id = "Spark2.Generator.after_limit_modifiers" class = "function" > < a href = "../generator.html#Generator.after_limit_modifiers" > after_limit_modifiers< / a > < / dd >
2025-02-13 15:52:54 +01:00
< dd id = "Spark2.Generator.select_sql" class = "function" > < a href = "../generator.html#Generator.select_sql" > select_sql< / a > < / dd >
< dd id = "Spark2.Generator.schema_sql" class = "function" > < a href = "../generator.html#Generator.schema_sql" > schema_sql< / a > < / dd >
2025-02-13 16:00:14 +01:00
< dd id = "Spark2.Generator.schema_columns_sql" class = "function" > < a href = "../generator.html#Generator.schema_columns_sql" > schema_columns_sql< / a > < / dd >
2025-02-13 15:52:54 +01:00
< dd id = "Spark2.Generator.star_sql" class = "function" > < a href = "../generator.html#Generator.star_sql" > star_sql< / a > < / dd >
< dd id = "Spark2.Generator.parameter_sql" class = "function" > < a href = "../generator.html#Generator.parameter_sql" > parameter_sql< / a > < / dd >
< dd id = "Spark2.Generator.sessionparameter_sql" class = "function" > < a href = "../generator.html#Generator.sessionparameter_sql" > sessionparameter_sql< / a > < / dd >
< dd id = "Spark2.Generator.placeholder_sql" class = "function" > < a href = "../generator.html#Generator.placeholder_sql" > placeholder_sql< / a > < / dd >
< dd id = "Spark2.Generator.subquery_sql" class = "function" > < a href = "../generator.html#Generator.subquery_sql" > subquery_sql< / a > < / dd >
< dd id = "Spark2.Generator.qualify_sql" class = "function" > < a href = "../generator.html#Generator.qualify_sql" > qualify_sql< / a > < / dd >
< dd id = "Spark2.Generator.union_sql" class = "function" > < a href = "../generator.html#Generator.union_sql" > union_sql< / a > < / dd >
< dd id = "Spark2.Generator.union_op" class = "function" > < a href = "../generator.html#Generator.union_op" > union_op< / a > < / dd >
< dd id = "Spark2.Generator.unnest_sql" class = "function" > < a href = "../generator.html#Generator.unnest_sql" > unnest_sql< / a > < / dd >
< dd id = "Spark2.Generator.where_sql" class = "function" > < a href = "../generator.html#Generator.where_sql" > where_sql< / a > < / dd >
< dd id = "Spark2.Generator.window_sql" class = "function" > < a href = "../generator.html#Generator.window_sql" > window_sql< / a > < / dd >
< dd id = "Spark2.Generator.partition_by_sql" class = "function" > < a href = "../generator.html#Generator.partition_by_sql" > partition_by_sql< / a > < / dd >
< dd id = "Spark2.Generator.windowspec_sql" class = "function" > < a href = "../generator.html#Generator.windowspec_sql" > windowspec_sql< / a > < / dd >
< dd id = "Spark2.Generator.withingroup_sql" class = "function" > < a href = "../generator.html#Generator.withingroup_sql" > withingroup_sql< / a > < / dd >
< dd id = "Spark2.Generator.between_sql" class = "function" > < a href = "../generator.html#Generator.between_sql" > between_sql< / a > < / dd >
< dd id = "Spark2.Generator.bracket_sql" class = "function" > < a href = "../generator.html#Generator.bracket_sql" > bracket_sql< / a > < / dd >
< dd id = "Spark2.Generator.all_sql" class = "function" > < a href = "../generator.html#Generator.all_sql" > all_sql< / a > < / dd >
< dd id = "Spark2.Generator.any_sql" class = "function" > < a href = "../generator.html#Generator.any_sql" > any_sql< / a > < / dd >
< dd id = "Spark2.Generator.exists_sql" class = "function" > < a href = "../generator.html#Generator.exists_sql" > exists_sql< / a > < / dd >
< dd id = "Spark2.Generator.case_sql" class = "function" > < a href = "../generator.html#Generator.case_sql" > case_sql< / a > < / dd >
< dd id = "Spark2.Generator.constraint_sql" class = "function" > < a href = "../generator.html#Generator.constraint_sql" > constraint_sql< / a > < / dd >
< dd id = "Spark2.Generator.nextvaluefor_sql" class = "function" > < a href = "../generator.html#Generator.nextvaluefor_sql" > nextvaluefor_sql< / a > < / dd >
< dd id = "Spark2.Generator.extract_sql" class = "function" > < a href = "../generator.html#Generator.extract_sql" > extract_sql< / a > < / dd >
< dd id = "Spark2.Generator.trim_sql" class = "function" > < a href = "../generator.html#Generator.trim_sql" > trim_sql< / a > < / dd >
2025-02-13 16:00:14 +01:00
< dd id = "Spark2.Generator.safeconcat_sql" class = "function" > < a href = "../generator.html#Generator.safeconcat_sql" > safeconcat_sql< / a > < / dd >
2025-02-13 15:52:54 +01:00
< dd id = "Spark2.Generator.check_sql" class = "function" > < a href = "../generator.html#Generator.check_sql" > check_sql< / a > < / dd >
< dd id = "Spark2.Generator.foreignkey_sql" class = "function" > < a href = "../generator.html#Generator.foreignkey_sql" > foreignkey_sql< / a > < / dd >
< dd id = "Spark2.Generator.primarykey_sql" class = "function" > < a href = "../generator.html#Generator.primarykey_sql" > primarykey_sql< / a > < / dd >
< dd id = "Spark2.Generator.if_sql" class = "function" > < a href = "../generator.html#Generator.if_sql" > if_sql< / a > < / dd >
< dd id = "Spark2.Generator.matchagainst_sql" class = "function" > < a href = "../generator.html#Generator.matchagainst_sql" > matchagainst_sql< / a > < / dd >
< dd id = "Spark2.Generator.jsonkeyvalue_sql" class = "function" > < a href = "../generator.html#Generator.jsonkeyvalue_sql" > jsonkeyvalue_sql< / a > < / dd >
< dd id = "Spark2.Generator.jsonobject_sql" class = "function" > < a href = "../generator.html#Generator.jsonobject_sql" > jsonobject_sql< / a > < / dd >
2025-02-13 15:56:32 +01:00
< dd id = "Spark2.Generator.openjsoncolumndef_sql" class = "function" > < a href = "../generator.html#Generator.openjsoncolumndef_sql" > openjsoncolumndef_sql< / a > < / dd >
< dd id = "Spark2.Generator.openjson_sql" class = "function" > < a href = "../generator.html#Generator.openjson_sql" > openjson_sql< / a > < / dd >
2025-02-13 15:52:54 +01:00
< dd id = "Spark2.Generator.in_sql" class = "function" > < a href = "../generator.html#Generator.in_sql" > in_sql< / a > < / dd >
< dd id = "Spark2.Generator.in_unnest_op" class = "function" > < a href = "../generator.html#Generator.in_unnest_op" > in_unnest_op< / a > < / dd >
< dd id = "Spark2.Generator.interval_sql" class = "function" > < a href = "../generator.html#Generator.interval_sql" > interval_sql< / a > < / dd >
< dd id = "Spark2.Generator.return_sql" class = "function" > < a href = "../generator.html#Generator.return_sql" > return_sql< / a > < / dd >
< dd id = "Spark2.Generator.reference_sql" class = "function" > < a href = "../generator.html#Generator.reference_sql" > reference_sql< / a > < / dd >
< dd id = "Spark2.Generator.anonymous_sql" class = "function" > < a href = "../generator.html#Generator.anonymous_sql" > anonymous_sql< / a > < / dd >
< dd id = "Spark2.Generator.paren_sql" class = "function" > < a href = "../generator.html#Generator.paren_sql" > paren_sql< / a > < / dd >
< dd id = "Spark2.Generator.neg_sql" class = "function" > < a href = "../generator.html#Generator.neg_sql" > neg_sql< / a > < / dd >
< dd id = "Spark2.Generator.not_sql" class = "function" > < a href = "../generator.html#Generator.not_sql" > not_sql< / a > < / dd >
< dd id = "Spark2.Generator.alias_sql" class = "function" > < a href = "../generator.html#Generator.alias_sql" > alias_sql< / a > < / dd >
< dd id = "Spark2.Generator.aliases_sql" class = "function" > < a href = "../generator.html#Generator.aliases_sql" > aliases_sql< / a > < / dd >
< dd id = "Spark2.Generator.attimezone_sql" class = "function" > < a href = "../generator.html#Generator.attimezone_sql" > attimezone_sql< / a > < / dd >
< dd id = "Spark2.Generator.add_sql" class = "function" > < a href = "../generator.html#Generator.add_sql" > add_sql< / a > < / dd >
< dd id = "Spark2.Generator.and_sql" class = "function" > < a href = "../generator.html#Generator.and_sql" > and_sql< / a > < / dd >
< dd id = "Spark2.Generator.connector_sql" class = "function" > < a href = "../generator.html#Generator.connector_sql" > connector_sql< / a > < / dd >
< dd id = "Spark2.Generator.bitwiseand_sql" class = "function" > < a href = "../generator.html#Generator.bitwiseand_sql" > bitwiseand_sql< / a > < / dd >
< dd id = "Spark2.Generator.bitwiseleftshift_sql" class = "function" > < a href = "../generator.html#Generator.bitwiseleftshift_sql" > bitwiseleftshift_sql< / a > < / dd >
< dd id = "Spark2.Generator.bitwisenot_sql" class = "function" > < a href = "../generator.html#Generator.bitwisenot_sql" > bitwisenot_sql< / a > < / dd >
< dd id = "Spark2.Generator.bitwiseor_sql" class = "function" > < a href = "../generator.html#Generator.bitwiseor_sql" > bitwiseor_sql< / a > < / dd >
< dd id = "Spark2.Generator.bitwiserightshift_sql" class = "function" > < a href = "../generator.html#Generator.bitwiserightshift_sql" > bitwiserightshift_sql< / a > < / dd >
< dd id = "Spark2.Generator.bitwisexor_sql" class = "function" > < a href = "../generator.html#Generator.bitwisexor_sql" > bitwisexor_sql< / a > < / dd >
< dd id = "Spark2.Generator.currentdate_sql" class = "function" > < a href = "../generator.html#Generator.currentdate_sql" > currentdate_sql< / a > < / dd >
< dd id = "Spark2.Generator.collate_sql" class = "function" > < a href = "../generator.html#Generator.collate_sql" > collate_sql< / a > < / dd >
< dd id = "Spark2.Generator.command_sql" class = "function" > < a href = "../generator.html#Generator.command_sql" > command_sql< / a > < / dd >
< dd id = "Spark2.Generator.comment_sql" class = "function" > < a href = "../generator.html#Generator.comment_sql" > comment_sql< / a > < / dd >
2025-02-13 15:56:32 +01:00
< dd id = "Spark2.Generator.mergetreettlaction_sql" class = "function" > < a href = "../generator.html#Generator.mergetreettlaction_sql" > mergetreettlaction_sql< / a > < / dd >
< dd id = "Spark2.Generator.mergetreettl_sql" class = "function" > < a href = "../generator.html#Generator.mergetreettl_sql" > mergetreettl_sql< / a > < / dd >
2025-02-13 15:52:54 +01:00
< dd id = "Spark2.Generator.transaction_sql" class = "function" > < a href = "../generator.html#Generator.transaction_sql" > transaction_sql< / a > < / dd >
< dd id = "Spark2.Generator.commit_sql" class = "function" > < a href = "../generator.html#Generator.commit_sql" > commit_sql< / a > < / dd >
< dd id = "Spark2.Generator.rollback_sql" class = "function" > < a href = "../generator.html#Generator.rollback_sql" > rollback_sql< / a > < / dd >
< dd id = "Spark2.Generator.altercolumn_sql" class = "function" > < a href = "../generator.html#Generator.altercolumn_sql" > altercolumn_sql< / a > < / dd >
< dd id = "Spark2.Generator.renametable_sql" class = "function" > < a href = "../generator.html#Generator.renametable_sql" > renametable_sql< / a > < / dd >
< dd id = "Spark2.Generator.altertable_sql" class = "function" > < a href = "../generator.html#Generator.altertable_sql" > altertable_sql< / a > < / dd >
< dd id = "Spark2.Generator.droppartition_sql" class = "function" > < a href = "../generator.html#Generator.droppartition_sql" > droppartition_sql< / a > < / dd >
< dd id = "Spark2.Generator.addconstraint_sql" class = "function" > < a href = "../generator.html#Generator.addconstraint_sql" > addconstraint_sql< / a > < / dd >
< dd id = "Spark2.Generator.distinct_sql" class = "function" > < a href = "../generator.html#Generator.distinct_sql" > distinct_sql< / a > < / dd >
< dd id = "Spark2.Generator.ignorenulls_sql" class = "function" > < a href = "../generator.html#Generator.ignorenulls_sql" > ignorenulls_sql< / a > < / dd >
< dd id = "Spark2.Generator.respectnulls_sql" class = "function" > < a href = "../generator.html#Generator.respectnulls_sql" > respectnulls_sql< / a > < / dd >
< dd id = "Spark2.Generator.intdiv_sql" class = "function" > < a href = "../generator.html#Generator.intdiv_sql" > intdiv_sql< / a > < / dd >
< dd id = "Spark2.Generator.dpipe_sql" class = "function" > < a href = "../generator.html#Generator.dpipe_sql" > dpipe_sql< / a > < / dd >
2025-02-13 16:00:14 +01:00
< dd id = "Spark2.Generator.safedpipe_sql" class = "function" > < a href = "../generator.html#Generator.safedpipe_sql" > safedpipe_sql< / a > < / dd >
2025-02-13 15:52:54 +01:00
< dd id = "Spark2.Generator.div_sql" class = "function" > < a href = "../generator.html#Generator.div_sql" > div_sql< / a > < / dd >
< dd id = "Spark2.Generator.overlaps_sql" class = "function" > < a href = "../generator.html#Generator.overlaps_sql" > overlaps_sql< / a > < / dd >
< dd id = "Spark2.Generator.distance_sql" class = "function" > < a href = "../generator.html#Generator.distance_sql" > distance_sql< / a > < / dd >
< dd id = "Spark2.Generator.dot_sql" class = "function" > < a href = "../generator.html#Generator.dot_sql" > dot_sql< / a > < / dd >
< dd id = "Spark2.Generator.eq_sql" class = "function" > < a href = "../generator.html#Generator.eq_sql" > eq_sql< / a > < / dd >
< dd id = "Spark2.Generator.escape_sql" class = "function" > < a href = "../generator.html#Generator.escape_sql" > escape_sql< / a > < / dd >
< dd id = "Spark2.Generator.glob_sql" class = "function" > < a href = "../generator.html#Generator.glob_sql" > glob_sql< / a > < / dd >
< dd id = "Spark2.Generator.gt_sql" class = "function" > < a href = "../generator.html#Generator.gt_sql" > gt_sql< / a > < / dd >
< dd id = "Spark2.Generator.gte_sql" class = "function" > < a href = "../generator.html#Generator.gte_sql" > gte_sql< / a > < / dd >
< dd id = "Spark2.Generator.ilike_sql" class = "function" > < a href = "../generator.html#Generator.ilike_sql" > ilike_sql< / a > < / dd >
< dd id = "Spark2.Generator.ilikeany_sql" class = "function" > < a href = "../generator.html#Generator.ilikeany_sql" > ilikeany_sql< / a > < / dd >
< dd id = "Spark2.Generator.is_sql" class = "function" > < a href = "../generator.html#Generator.is_sql" > is_sql< / a > < / dd >
< dd id = "Spark2.Generator.like_sql" class = "function" > < a href = "../generator.html#Generator.like_sql" > like_sql< / a > < / dd >
< dd id = "Spark2.Generator.likeany_sql" class = "function" > < a href = "../generator.html#Generator.likeany_sql" > likeany_sql< / a > < / dd >
< dd id = "Spark2.Generator.similarto_sql" class = "function" > < a href = "../generator.html#Generator.similarto_sql" > similarto_sql< / a > < / dd >
< dd id = "Spark2.Generator.lt_sql" class = "function" > < a href = "../generator.html#Generator.lt_sql" > lt_sql< / a > < / dd >
< dd id = "Spark2.Generator.lte_sql" class = "function" > < a href = "../generator.html#Generator.lte_sql" > lte_sql< / a > < / dd >
< dd id = "Spark2.Generator.mod_sql" class = "function" > < a href = "../generator.html#Generator.mod_sql" > mod_sql< / a > < / dd >
< dd id = "Spark2.Generator.mul_sql" class = "function" > < a href = "../generator.html#Generator.mul_sql" > mul_sql< / a > < / dd >
< dd id = "Spark2.Generator.neq_sql" class = "function" > < a href = "../generator.html#Generator.neq_sql" > neq_sql< / a > < / dd >
< dd id = "Spark2.Generator.nullsafeeq_sql" class = "function" > < a href = "../generator.html#Generator.nullsafeeq_sql" > nullsafeeq_sql< / a > < / dd >
< dd id = "Spark2.Generator.nullsafeneq_sql" class = "function" > < a href = "../generator.html#Generator.nullsafeneq_sql" > nullsafeneq_sql< / a > < / dd >
< dd id = "Spark2.Generator.or_sql" class = "function" > < a href = "../generator.html#Generator.or_sql" > or_sql< / a > < / dd >
< dd id = "Spark2.Generator.slice_sql" class = "function" > < a href = "../generator.html#Generator.slice_sql" > slice_sql< / a > < / dd >
< dd id = "Spark2.Generator.sub_sql" class = "function" > < a href = "../generator.html#Generator.sub_sql" > sub_sql< / a > < / dd >
< dd id = "Spark2.Generator.trycast_sql" class = "function" > < a href = "../generator.html#Generator.trycast_sql" > trycast_sql< / a > < / dd >
< dd id = "Spark2.Generator.use_sql" class = "function" > < a href = "../generator.html#Generator.use_sql" > use_sql< / a > < / dd >
< dd id = "Spark2.Generator.binary" class = "function" > < a href = "../generator.html#Generator.binary" > binary< / a > < / dd >
< dd id = "Spark2.Generator.function_fallback_sql" class = "function" > < a href = "../generator.html#Generator.function_fallback_sql" > function_fallback_sql< / a > < / dd >
< dd id = "Spark2.Generator.func" class = "function" > < a href = "../generator.html#Generator.func" > func< / a > < / dd >
< dd id = "Spark2.Generator.format_args" class = "function" > < a href = "../generator.html#Generator.format_args" > format_args< / a > < / dd >
< dd id = "Spark2.Generator.text_width" class = "function" > < a href = "../generator.html#Generator.text_width" > text_width< / a > < / dd >
< dd id = "Spark2.Generator.format_time" class = "function" > < a href = "../generator.html#Generator.format_time" > format_time< / a > < / dd >
< dd id = "Spark2.Generator.expressions" class = "function" > < a href = "../generator.html#Generator.expressions" > expressions< / a > < / dd >
< dd id = "Spark2.Generator.op_expressions" class = "function" > < a href = "../generator.html#Generator.op_expressions" > op_expressions< / a > < / dd >
< dd id = "Spark2.Generator.naked_property" class = "function" > < a href = "../generator.html#Generator.naked_property" > naked_property< / a > < / dd >
< dd id = "Spark2.Generator.set_operation" class = "function" > < a href = "../generator.html#Generator.set_operation" > set_operation< / a > < / dd >
< dd id = "Spark2.Generator.tag_sql" class = "function" > < a href = "../generator.html#Generator.tag_sql" > tag_sql< / a > < / dd >
< dd id = "Spark2.Generator.token_sql" class = "function" > < a href = "../generator.html#Generator.token_sql" > token_sql< / a > < / dd >
< dd id = "Spark2.Generator.userdefinedfunction_sql" class = "function" > < a href = "../generator.html#Generator.userdefinedfunction_sql" > userdefinedfunction_sql< / a > < / dd >
< dd id = "Spark2.Generator.joinhint_sql" class = "function" > < a href = "../generator.html#Generator.joinhint_sql" > joinhint_sql< / a > < / dd >
< dd id = "Spark2.Generator.kwarg_sql" class = "function" > < a href = "../generator.html#Generator.kwarg_sql" > kwarg_sql< / a > < / dd >
< dd id = "Spark2.Generator.when_sql" class = "function" > < a href = "../generator.html#Generator.when_sql" > when_sql< / a > < / dd >
< dd id = "Spark2.Generator.merge_sql" class = "function" > < a href = "../generator.html#Generator.merge_sql" > merge_sql< / a > < / dd >
< dd id = "Spark2.Generator.tochar_sql" class = "function" > < a href = "../generator.html#Generator.tochar_sql" > tochar_sql< / a > < / dd >
2025-02-13 15:58:03 +01:00
< dd id = "Spark2.Generator.dictproperty_sql" class = "function" > < a href = "../generator.html#Generator.dictproperty_sql" > dictproperty_sql< / a > < / dd >
< dd id = "Spark2.Generator.dictrange_sql" class = "function" > < a href = "../generator.html#Generator.dictrange_sql" > dictrange_sql< / a > < / dd >
< dd id = "Spark2.Generator.dictsubproperty_sql" class = "function" > < a href = "../generator.html#Generator.dictsubproperty_sql" > dictsubproperty_sql< / a > < / dd >
2025-02-13 16:00:14 +01:00
< dd id = "Spark2.Generator.oncluster_sql" class = "function" > < a href = "../generator.html#Generator.oncluster_sql" > oncluster_sql< / a > < / dd >
2025-02-13 15:52:54 +01:00
< / div >
< div > < dt > < a href = "hive.html#Hive.Generator" > sqlglot.dialects.hive.Hive.Generator< / a > < / dt >
< dd id = "Spark2.Generator.arrayagg_sql" class = "function" > < a href = "hive.html#Hive.Generator.arrayagg_sql" > arrayagg_sql< / a > < / dd >
< dd id = "Spark2.Generator.with_properties" class = "function" > < a href = "hive.html#Hive.Generator.with_properties" > with_properties< / a > < / dd >
< dd id = "Spark2.Generator.datatype_sql" class = "function" > < a href = "hive.html#Hive.Generator.datatype_sql" > datatype_sql< / a > < / dd >
2025-02-13 15:56:32 +01:00
< dd id = "Spark2.Generator.after_having_modifiers" class = "function" > < a href = "hive.html#Hive.Generator.after_having_modifiers" > after_having_modifiers< / a > < / dd >
2025-02-13 15:52:54 +01:00
< / div >
< / dl >
< / div >
< / section >
< section id = "Spark2.Tokenizer" >
< input id = "Spark2.Tokenizer-view-source" class = "view-source-toggle-state" type = "checkbox" aria-hidden = "true" tabindex = "-1" >
< div class = "attr class" >
< span class = "def" > class< / span >
< span class = "name" > Spark2.Tokenizer< / span > < wbr > (< span class = "base" > < a href = "hive.html#Hive.Tokenizer" > sqlglot.dialects.hive.Hive.Tokenizer< / a > < / span > ):
< label class = "view-source-button" for = "Spark2.Tokenizer-view-source" > < span > View Source< / span > < / label >
< / div >
< a class = "headerlink" href = "#Spark2.Tokenizer" > < / a >
2025-02-13 16:00:14 +01:00
< div class = "pdoc-code codehilite" > < pre > < span > < / span > < span id = "Spark2.Tokenizer-253" > < a href = "#Spark2.Tokenizer-253" > < span class = "linenos" > 253< / span > < / a > < span class = "k" > class< / span > < span class = "nc" > Tokenizer< / span > < span class = "p" > (< / span > < span class = "n" > Hive< / span > < span class = "o" > .< / span > < span class = "n" > Tokenizer< / span > < span class = "p" > ):< / span >
< / span > < span id = "Spark2.Tokenizer-254" > < a href = "#Spark2.Tokenizer-254" > < span class = "linenos" > 254< / span > < / a > < span class = "n" > HEX_STRINGS< / span > < span class = "o" > =< / span > < span class = "p" > [(< / span > < span class = "s2" > " X' " < / span > < span class = "p" > ,< / span > < span class = "s2" > " ' " < / span > < span class = "p" > )]< / span >
2025-02-13 15:52:54 +01:00
< / span > < / pre > < / div >
< div class = "inherited" >
< h5 > Inherited Members< / h5 >
< dl >
< div > < dt > < a href = "../tokens.html#Tokenizer" > sqlglot.tokens.Tokenizer< / a > < / dt >
< dd id = "Spark2.Tokenizer.reset" class = "function" > < a href = "../tokens.html#Tokenizer.reset" > reset< / a > < / dd >
< dd id = "Spark2.Tokenizer.tokenize" class = "function" > < a href = "../tokens.html#Tokenizer.tokenize" > tokenize< / a > < / dd >
2025-02-13 16:00:14 +01:00
< dd id = "Spark2.Tokenizer.peek" class = "function" > < a href = "../tokens.html#Tokenizer.peek" > peek< / a > < / dd >
2025-02-13 15:52:54 +01:00
< / div >
< / dl >
< / div >
< / section >
< / main >
< script >
function escapeHTML(html) {
return document.createElement('div').appendChild(document.createTextNode(html)).parentNode.innerHTML;
}
const originalContent = document.querySelector("main.pdoc");
let currentContent = originalContent;
function setContent(innerHTML) {
let elem;
if (innerHTML) {
elem = document.createElement("main");
elem.classList.add("pdoc");
elem.innerHTML = innerHTML;
} else {
elem = originalContent;
}
if (currentContent !== elem) {
currentContent.replaceWith(elem);
currentContent = elem;
}
}
function getSearchTerm() {
return (new URL(window.location)).searchParams.get("search");
}
const searchBox = document.querySelector(".pdoc input[type=search]");
searchBox.addEventListener("input", function () {
let url = new URL(window.location);
if (searchBox.value.trim()) {
url.hash = "";
url.searchParams.set("search", searchBox.value);
} else {
url.searchParams.delete("search");
}
history.replaceState("", "", url.toString());
onInput();
});
window.addEventListener("popstate", onInput);
let search, searchErr;
async function initialize() {
try {
search = await new Promise((resolve, reject) => {
const script = document.createElement("script");
script.type = "text/javascript";
script.async = true;
script.onload = () => resolve(window.pdocSearch);
script.onerror = (e) => reject(e);
script.src = "../../search.js";
document.getElementsByTagName("head")[0].appendChild(script);
});
} catch (e) {
console.error("Cannot fetch pdoc search index");
searchErr = "Cannot fetch search index.";
}
onInput();
document.querySelector("nav.pdoc").addEventListener("click", e => {
if (e.target.hash) {
searchBox.value = "";
searchBox.dispatchEvent(new Event("input"));
}
});
}
function onInput() {
setContent((() => {
const term = getSearchTerm();
if (!term) {
return null
}
if (searchErr) {
return `< h3 > Error: ${searchErr}< / h3 > `
}
if (!search) {
return "< h3 > Searching...< / h3 > "
}
window.scrollTo({top: 0, left: 0, behavior: 'auto'});
const results = search(term);
let html;
if (results.length === 0) {
html = `No search results for '${escapeHTML(term)}'.`
} else {
html = `< h4 > ${results.length} search result${results.length > 1 ? "s" : ""} for '${escapeHTML(term)}'.< / h4 > `;
}
for (let result of results.slice(0, 10)) {
let doc = result.doc;
let url = `../../${doc.modulename.replaceAll(".", "/")}.html`;
if (doc.qualname) {
url += `#${doc.qualname}`;
}
let heading;
switch (result.doc.kind) {
case "function":
if (doc.fullname.endsWith(".__init__")) {
heading = `< span class = "name" > ${doc.fullname.replace(/\.__init__$/, "")}< / span > ${doc.signature}`;
} else {
heading = `< span class = "def" > ${doc.funcdef}< / span > < span class = "name" > ${doc.fullname}< / span > ${doc.signature}`;
}
break;
case "class":
heading = `< span class = "def" > class< / span > < span class = "name" > ${doc.fullname}< / span > `;
if (doc.bases)
heading += `< wbr > (< span class = "base" > ${doc.bases}< / span > )`;
heading += `:`;
break;
case "variable":
heading = `< span class = "name" > ${doc.fullname}< / span > `;
if (doc.annotation)
heading += `< span class = "annotation" > ${doc.annotation}< / span > `;
if (doc.default_value)
heading += `< span class = "default_value" > = ${doc.default_value}< / span > `;
break;
default:
heading = `< span class = "name" > ${doc.fullname}< / span > `;
break;
}
html += `
< section class = "search-result" >
< a href = "${url}" class = "attr ${doc.kind}" > ${heading}< / a >
< div class = "docstring" > ${doc.doc}< / div >
< / section >
`;
}
return html;
})());
}
if (getSearchTerm()) {
initialize();
searchBox.value = getSearchTerm();
onInput();
} else {
searchBox.addEventListener("focus", initialize, {once: true});
}
searchBox.addEventListener("keydown", e => {
if (["ArrowDown", "ArrowUp", "Enter"].includes(e.key)) {
let focused = currentContent.querySelector(".search-result.focused");
if (!focused) {
currentContent.querySelector(".search-result").classList.add("focused");
} else if (
e.key === "ArrowDown"
& & focused.nextElementSibling
& & focused.nextElementSibling.classList.contains("search-result")
) {
focused.classList.remove("focused");
focused.nextElementSibling.classList.add("focused");
focused.nextElementSibling.scrollIntoView({
behavior: "smooth",
block: "nearest",
inline: "nearest"
});
} else if (
e.key === "ArrowUp"
& & focused.previousElementSibling
& & focused.previousElementSibling.classList.contains("search-result")
) {
focused.classList.remove("focused");
focused.previousElementSibling.classList.add("focused");
focused.previousElementSibling.scrollIntoView({
behavior: "smooth",
block: "nearest",
inline: "nearest"
});
} else if (
e.key === "Enter"
) {
focused.querySelector("a").click();
}
}
});
< / script > < / body >
< / html >