使用时间戳格式获取周数月份' 2016-11-22 14:35:51'使用SPARK SQL

时间:2017-01-09 12:34:30

标签: apache-spark apache-spark-sql

我有一个时间戳列,其中包含' 2016-11-22 14:35:51'在SPARK SQL中。有人会帮我检索给定时间戳格式的周数吗?

我试过了,

  

SELECT 时间戳,DATE_FORMAT(时间戳,' u')AS WEEK FROM table_1;

但它输错了输出,

<script src="https://cdnjs.cloudflare.com/ajax/libs/d3/3.4.11/d3.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/c3/0.4.11/c3.js"></script>
                  <script>
                        $(function(){
                            var chart = c3.generate({
                                bindto: '#chart',
                                data: {
                                  columns: [
                                    ['data1', 30, 200, 100, 400, 150, 250],
                                    ['data2', 50, 20, 10, 40, 15, 25]
                                  ]
                                }
                            });
                        });
                  </script>   
  <body>
      <div id="chart"></div>
 </body>

感谢有人coulkd帮助我。

感谢。

1 个答案:

答案 0 :(得分:4)

您使用了错误的字面值,您需要使用W代替u

字面 u 是指天的周数。

scala> sqlContext.sql("select current_timestamp() as time, date_format(current_timestamp,'W') as week").show
// +--------------------+----+
// |                time|week|
// +--------------------+----+
// |2017-01-09 13:46:...|   2|
// +--------------------+----+

scala> sqlContext.sql("select to_date('2017-01-01') as time, date_format(to_date('2017-01-01'),'W') as week").show
// +----------+----+
// |      time|week|
// +----------+----+
// |2017-01-01|   1|
// +----------+----+

如果您有更多疑问,可以随时参考Java中的official documentation of SimpleDateFormat