MySQL can automatically record created_at and updated_at timestamps. Hiveは同様のメカニズムを提供していますか?そうでない場合、この機能を実現するにはどうすればよいでしょうか?Hiveにcreated_atとupdated_atタイムスタンプを記録する方法は?
2
A
答えて
2
ハイブはこのようなメカニズムを提供していません。あなたの選択でUDFを使用してこれを達成することができます:from_unixtime(unix_timestamp()) as created_at
。これは各マッパーまたはレデューサーで実行され、異なる値を返すことに注意してください。あなたは(1.2.0以前ハイブのバージョンのための)すべてのデータセットに対して同じ値が必要な場合は、スクリプトに変数を渡しとして内部にそれを使用する:'${hiveconf:created_at}' as created_at
更新:の開始時に現在のタイムスタンプを返しますcurrent_timestamp
クエリ評価(ハイブ1.2.0)。同じクエリ内のcurrent_timestampのすべての呼び出しは、同じ値を返します。 unix_timestamp()
現在のUnixタイムスタンプを秒単位で取得します。この関数は非決定論的であり、クエリの適切な最適化を妨げます。これはCURRENT_TIMESTAMP定数のために2.0以降推奨されていません。だから、それは関数ではなく、定数です! このドキュメントを参照してください:ハイブのhttps://cwiki.apache.org/confluence/display/Hive/LanguageManual+UDF
はCURRENT_TIMESTAMPは、すべてのファイル(複数可)とにかく書き換えられているので、あなたが、レコードではなく、テーブルまたはパーティションを書き換えるかに挿入すると、そのためcreated_at
タイムスタンプは同じであるべき望ましい照会します。
関連する問題
- 1. タイムスタンプ(updated_atの、のcreated_at)はLaravel 5
- 2. Rails 5 - created_atクラスとupdated_atクラス
- 3. LOAD DATA INFILEデータにcreated_atとupdated_atを追加する
- 4. 'created_at'と 'updated_at'はいつ設定されますか?
- 5. なぜcreated_at updated_atは挿入時にnullです
- 6. Twitter created_atルビーのタイムスタンプをunixにする
- 7. updated_atのタイムスタンプ4.2 DBクラス
- 8. Sonic Management ConsoleコンテナがJavaを使用してタイムスタンプを記録する方法は?
- 9. ピボットテーブルエントリの "created_at"タイムスタンプへのアクセス
- 10. ZFDebugツールバーカスタムメッセージを記録する方法は?
- 11. aiohttpアクセスログを記録する方法は?
- 12. Hive:行のタイムスタンプでデータを取得する方法
- 13. MySQL:最後のパスワード更新のタイムスタンプを自動記録する方法
- 14. golangのコンソールとファイルにメッセージを記録する方法は?
- 15. Python 3:ログファイルに警告とエラーを記録する方法は?
- 16. FAT32 SDカードはどのタイムゾーンにタイムスタンプを記録しますか?
- 17. mongodbでlaravelのcreated_atとupdated_atの日付にアクセスできません
- 18. Ruby-on-railsのcreated_atおよびupdated_atの日付の設定time_zone
- 19. データベースからUTCタイムスタンプを日付に記録する
- 20. 通話終了後に通話記録をログに記録する方法
- 21. Created_atまたはupdated_atは完全なdateTimeを表示していません
- 22. 記事の閲覧時間を記録する方法は?
- 23. MySQL:datetimeフィールドを自動的に設定して、作成タイムスタンプを記録する方法はありますか?
- 24. pgsqlからcreated_atタイムスタンプを取得
- 25. ビットマスクを記録する方法
- 26. Linuxでバイナリデータを記録する方法
- 27. ストアドプロシージャエラーを記録する方法
- 28. Spring Security 4でログインとログアウトを記録する方法は?
- 29. PyS60でprint文とエラーメッセージを記録する方法は?
- 30. laravel5のcreated_atタイムスタンプに基づいてモデルを取得する5
もし 'unix_timestamp()'の代わりに 'current_timestamp()'を使うと、値はまだマッパー/レデューサごとに変わるのでしょうか? –
変更されません。ドキュメントによると、current_timestamp は、クエリ評価の開始時(Hive 1.2.0以降)に現在のタイムスタンプを返します。同じクエリ内のcurrent_timestampのすべての呼び出しは、同じ値を返します。この質問をありがとう。私はそれに応じて私の答えを変更します – leftjoin
私はすでに1.2.1バージョンに移行しているので、この機能を私のすべてのコードに適用します。この質問はもう一度ありがとう – leftjoin