@@ -2850,34 +2850,33 @@ def udf(f=None, returnType=StringType()):
2850
2850
# The following table shows most of Python data and SQL type conversions in normal UDFs that
2851
2851
# are not yet visible to the user. Some of behaviors are buggy and might be changed in the near
2852
2852
# future. The table might have to be eventually documented externally.
2853
- # Please see SPARK-25666 's PR to see the codes in order to generate the table below.
2853
+ # Please see SPARK-28131 's PR to see the codes in order to generate the table below.
2854
2854
#
2855
- # +-----------------------------+--------------+----------+------+-------+ ---------------+ ---------------+ --------------------+ -----------------------------+ ----------+----------------------+ --------- +--------------------+ -----------------+------------+--------------+------------------+----------------------+ # noqa
2856
- # |SQL Type \ Python Value(Type)|None(NoneType)|True(bool)|1(int)|1(long)| a(str)| a(unicode)| 1970-01-01(date)|1970-01-01 00:00:00(datetime)|1.0(float)|array('i', [1])(array)|[1](list)| (1,)(tuple)| ABC(bytearray)| 1(Decimal)|{'a': 1}(dict)|Row(kwargs=1)(Row)|Row(namedtuple=1)(Row)| # noqa
2857
- # +-----------------------------+--------------+----------+------+-------+ ---------------+ ---------------+ --------------------+ -----------------------------+ ----------+----------------------+ --------- +--------------------+ -----------------+------------+--------------+------------------+----------------------+ # noqa
2858
- # | boolean| None| True| None| None| None| None| None| None| None| None| None| None| None| None| None| X| X| # noqa
2859
- # | tinyint| None| None| 1| 1| None| None| None| None| None| None| None| None| None| None| None| X| X| # noqa
2860
- # | smallint| None| None| 1| 1| None| None| None| None| None| None| None| None| None| None| None| X| X| # noqa
2861
- # | int| None| None| 1| 1| None| None| None| None| None| None| None| None| None| None| None| X| X| # noqa
2862
- # | bigint| None| None| 1| 1| None| None| None| None| None| None| None| None| None| None| None| X| X| # noqa
2863
- # | string| None| u 'true'| u'1'| u '1'| u'a'| u 'a'|u 'java.util.Grego ...| u 'java.util.Grego ...| u '1.0'| u '[I@24a83055 '| u '[1]'|u '[Ljava.lang.Obj ...| u '[B@49093632 '| u '1'| u '{a=1}'| X| X| # noqa
2864
- # | date| None| X| X| X| X| X| datetime.date(197...| datetime.date(197...| X| X| X| X| X| X| X| X| X| # noqa
2865
- # | timestamp| None| X| X| X| X| X| X| datetime.datetime...| X| X| X| X| X| X| X| X| X| # noqa
2866
- # | float| None| None| None| None| None| None| None| None| 1.0| None| None| None| None| None| None| X| X| # noqa
2867
- # | double| None| None| None| None| None| None| None| None| 1.0| None| None| None| None| None| None| X| X| # noqa
2868
- # | array<int>| None| None| None| None| None| None| None| None| None| [1]| [1]| [1]| [65, 66, 67]| None| None| X| X| # noqa
2869
- # | binary| None| None| None| None| bytearray(b'a')|bytearray(b'a')| None| None| None| None| None| None|bytearray(b'ABC')| None| None| X| X| # noqa
2870
- # | decimal(10,0)| None| None| None| None| None| None| None| None| None| None| None| None| None|Decimal('1')| None| X| X| # noqa
2871
- # | map<string,int>| None| None| None| None| None| None| None| None| None| None| None| None| None| None| {u 'a': 1}| X| X| # noqa
2872
- # | struct<_1:int>| None| X| X| X| X| X| X| X| X| X|Row(_1=1)| Row(_1=1)| X| X| Row(_1=None)| Row(_1=1)| Row(_1=1)| # noqa
2873
- # +-----------------------------+--------------+----------+------+-------+ ---------------+ ---------------+ --------------------+ -----------------------------+ ----------+----------------------+ --------- +--------------------+ -----------------+------------+--------------+------------------+----------------------+ # noqa
2855
+ # +-----------------------------+--------------+----------+------+---------------+ --------------------+-- ---------------------------+ ----------+ ----------------------+---------+ --------------------+----------------------------+------------+--------------+------------------+----------------------+ # noqa
2856
+ # |SQL Type \ Python Value(Type)|None(NoneType)|True(bool)|1(int)| a(str)| 1970-01-01(date)|1970-01-01 00:00:00(datetime)|1.0(float)|array('i', [1])(array)|[1](list)| (1,)(tuple)|bytearray(b' ABC') (bytearray)| 1(Decimal)|{'a': 1}(dict)|Row(kwargs=1)(Row)|Row(namedtuple=1)(Row)| # noqa
2857
+ # +-----------------------------+--------------+----------+------+---------------+ --------------------+-- ---------------------------+ ----------+ ----------------------+---------+ --------------------+----------------------------+------------+--------------+------------------+----------------------+ # noqa
2858
+ # | boolean| None| True| None| None| None| None| None| None| None| None| None| None| None| X| X| # noqa
2859
+ # | tinyint| None| None| 1| None| None| None| None| None| None| None| None| None| None| X| X| # noqa
2860
+ # | smallint| None| None| 1| None| None| None| None| None| None| None| None| None| None| X| X| # noqa
2861
+ # | int| None| None| 1| None| None| None| None| None| None| None| None| None| None| X| X| # noqa
2862
+ # | bigint| None| None| 1| None| None| None| None| None| None| None| None| None| None| X| X| # noqa
2863
+ # | string| None| 'true'| '1'| 'a'|'java.util.Gregor ...| 'java.util.Gregor ...| '1.0'| '[I@66cbb73a '| '[1]'|'[Ljava.lang.Obje ...| '[B@5a51eb1a '| '1'| '{a=1}'| X| X| # noqa
2864
+ # | date| None| X| X| X| datetime.date(197...| datetime.date(197...| X| X| X| X| X| X| X| X| X| # noqa
2865
+ # | timestamp| None| X| X| X| X| datetime.datetime...| X| X| X| X| X| X| X| X| X| # noqa
2866
+ # | float| None| None| None| None| None| None| 1.0| None| None| None| None| None| None| X| X| # noqa
2867
+ # | double| None| None| None| None| None| None| 1.0| None| None| None| None| None| None| X| X| # noqa
2868
+ # | array<int>| None| None| None| None| None| None| None| [1]| [1]| [1]| [65, 66, 67]| None| None| X| X| # noqa
2869
+ # | binary| None| None| None|bytearray(b'a')| None| None| None| None| None| None| bytearray(b'ABC')| None| None| X| X| # noqa
2870
+ # | decimal(10,0)| None| None| None| None| None| None| None| None| None| None| None|Decimal('1')| None| X| X| # noqa
2871
+ # | map<string,int>| None| None| None| None| None| None| None| None| None| None| None| None| { 'a': 1}| X| X| # noqa
2872
+ # | struct<_1:int>| None| X| X| X| X| X| X| X|Row(_1=1)| Row(_1=1)| X| X| Row(_1=None)| Row(_1=1)| Row(_1=1)| # noqa
2873
+ # +-----------------------------+--------------+----------+------+---------------+ --------------------+-- ---------------------------+ ----------+ ----------------------+---------+ --------------------+----------------------------+------------+--------------+------------------+----------------------+ # noqa
2874
2874
#
2875
2875
# Note: DDL formatted string is used for 'SQL Type' for simplicity. This string can be
2876
2876
# used in `returnType`.
2877
2877
# Note: The values inside of the table are generated by `repr`.
2878
- # Note: Python 2 is used to generate this table since it is used to check the backward
2879
- # compatibility often in practice.
2880
2878
# Note: 'X' means it throws an exception during the conversion.
2879
+ # Note: Python 3.7.3 is used.
2881
2880
2882
2881
# decorator @udf, @udf(), @udf(dataType())
2883
2882
if f is None or isinstance (f , (str , DataType )):
0 commit comments