Github user ueshin commented on a diff in the pull request: https://github.com/apache/spark/pull/18664#discussion_r146472109 --- Diff: python/pyspark/serializers.py --- @@ -224,7 +225,13 @@ def _create_batch(series): # If a nullable integer series has been promoted to floating point with NaNs, need to cast # NOTE: this is not necessary with Arrow >= 0.7 def cast_series(s, t): - if t is None or s.dtype == t.to_pandas_dtype(): + if type(t) == pa.TimestampType: + # NOTE: convert to 'us' with astype here, unit ignored in `from_pandas` see ARROW-1680 + return _series_convert_timestamps_internal(s).values.astype('datetime64[us]') + elif t == pa.date32(): + # TODO: ValueError: Cannot cast DatetimeIndex to dtype datetime64[D] --- End diff -- It seems we need to remove `mask=s.isnull()` when dtype is `object` because Arrow raises an error saying `ArrowNotImplementedError: NotImplemented: mask not supported in object conversions yet`.
--- --------------------------------------------------------------------- To unsubscribe, e-mail: reviews-unsubscr...@spark.apache.org For additional commands, e-mail: reviews-h...@spark.apache.org