dev*_*v ツ 6 apache-spark apache-spark-sql pyspark
一个有效的 Spark SQL:
SELECT current_timestamp() - INTERVAL 10 DAYS as diff from sample_table
Run Code Online (Sandbox Code Playgroud)
我尝试过的 Spark SQL(不起作用):
SELECT current_timestamp() - INTERVAL col1 DAYS as diff from sample_table
Run Code Online (Sandbox Code Playgroud)
从上面的查询得到的错误:
mismatched input 'DAYS' expecting
== SQL ==
SELECT current_timestamp() - INTERVAL col1 DAYS as diff from sample_table
------------------------------------------^^^
" Traceback (most recent call last):
File "/usr/lib/spark/python/lib/pyspark.zip/pyspark/sql/session.py", line 767, in sql return DataFrame(self._jsparkSession.sql(sqlQuery), self._wrapped)
File "/usr/lib/spark/python/lib/py4j-0.10.7-src.zip/py4j/java_gateway.py", line 1257, in call answer, self.gateway_client, self.target_id, self.name)
File "/usr/lib/spark/python/lib/pyspark.zip/pyspark/sql/utils.py", line 73, in deco raise ParseException(s.split(': ', 1)[1], stackTrace) pyspark.sql.utils.ParseException: "
mismatched input 'DAYS' expecting
== SQL ==
SELECT current_timestamp() - INTERVAL col1 DAYS as diff from sample_table
------------------------------------------^^^
Run Code Online (Sandbox Code Playgroud)
我想用作col1动态间隔值。我怎样才能实现这个目标?
小智 4
SparkSQL 函数make_interval实现了这一点:
SELECT current_timestamp() - make_interval(0, 0, 0, col1, 0, 0, 0) as diff from sample_table
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3561 次 |
| 最近记录: |