在多行语句之间放置注释(带续行)
Put comments in between multi-line statement (with line continuation)
当我编写以下 pyspark 命令时:
# comment 1
df = df.withColumn('explosion', explode(col('col1'))).filter(col('explosion')['sub_col1'] == 'some_string') \
# comment 2
.withColumn('sub_col2', from_unixtime(col('explosion')['sub_col2'])) \
# comment 3
.withColumn('sub_col3', from_unixtime(col('explosion')['sub_col3']))
我收到以下错误:
.withColumn('sub_col2', from_unixtime(col('explosion')['sub_col2']))
^
IndentationError: unexpected indent
有没有办法在pyspark的多行命令的行与行之间写注释?
这不是 pyspark
问题,而是违反了 python 语法。
考虑以下示例:
a, b, c = range(3)
a +\
# add b
b +\
# add c
c
这导致:
a +# add b
^
SyntaxError: invalid syntax
\
是一个连续字符,python 将下一行中的任何内容解释为紧接其后出现,从而导致您的错误。
解决这个问题的一种方法是改用括号:
(a +
# add b
b +
# add c
c)
当分配给一个变量时,这看起来像
# do a sum of 3 numbers
addition = (a +
# add b
b +
# add c
c)
或者您的情况:
# comment 1
df = (df.withColumn('explosion', explode(col('col1')))
.filter(col('explosion')['sub_col1'] == 'some_string')
# comment 2
.withColumn('sub_col2', from_unixtime(col('explosion')['sub_col2']))
# comment 3
.withColumn('sub_col3', from_unixtime(col('explosion')['sub_col3'])))
当我编写以下 pyspark 命令时:
# comment 1
df = df.withColumn('explosion', explode(col('col1'))).filter(col('explosion')['sub_col1'] == 'some_string') \
# comment 2
.withColumn('sub_col2', from_unixtime(col('explosion')['sub_col2'])) \
# comment 3
.withColumn('sub_col3', from_unixtime(col('explosion')['sub_col3']))
我收到以下错误:
.withColumn('sub_col2', from_unixtime(col('explosion')['sub_col2']))
^
IndentationError: unexpected indent
有没有办法在pyspark的多行命令的行与行之间写注释?
这不是 pyspark
问题,而是违反了 python 语法。
考虑以下示例:
a, b, c = range(3)
a +\
# add b
b +\
# add c
c
这导致:
a +# add b
^
SyntaxError: invalid syntax
\
是一个连续字符,python 将下一行中的任何内容解释为紧接其后出现,从而导致您的错误。
解决这个问题的一种方法是改用括号:
(a +
# add b
b +
# add c
c)
当分配给一个变量时,这看起来像
# do a sum of 3 numbers
addition = (a +
# add b
b +
# add c
c)
或者您的情况:
# comment 1
df = (df.withColumn('explosion', explode(col('col1')))
.filter(col('explosion')['sub_col1'] == 'some_string')
# comment 2
.withColumn('sub_col2', from_unixtime(col('explosion')['sub_col2']))
# comment 3
.withColumn('sub_col3', from_unixtime(col('explosion')['sub_col3'])))