2016-04-25 32 views
1

我写了一个相当复杂的%% sql模块,由3个独立的查询组成(第三个查询调用前两个),并且一切正常。为了澄清正在做什么(因为这是教程的重要内容),我回过头添加了描述性注释,现在我的第三个查询不起作用,因为注释行被随后的非注释行包装在一起 - 更多准确地说,原始sql的一部分被合并到前面的注释行中,从而从sql中删除。datalab %% sql模块中的注释的推荐语法?

我应该完全避免在%% sql模块中放置注释,还是有适当的语法可以使其工作? (或者应该gcp.bigquery.Query()在将sql传递给BigQuery之前智能地删除注释?)

回答

2

我会避免评论。您可以将查询拆分为多个单元格,并在两者之间使用降格单元格。

我们曾经支持在第一列中以'#'开头但已被删除的注释。

+1

谢谢格雷厄姆。由于您建议将查询分割为多个单元格,因此我认为这对[链接]有帮助(http://stackoverflow.com/questions/33590991/is-it-possible-to-refer-to-queries-defined-in -a-previous-sql-module-in-a-later)我以前的这个问题。如果在%% sql单元格中遇到在第一列中以'#'开头的注释,我会提示某种错误消息。 – SheRey

0

在%% sql模块中注释的一种方法是在注释开始之前使用' - '。

%%sql --module query 
-- Comment line 1 
-- Comment line 2 
SQL code 
-- Comment line 3