1
空のテーブルがありますHive
このテーブルにはレコードがありません。私が作成したこの空のテーブルを使用してPysparkからHDFSにファイルを保存します
data frame
df = sqlContext.table("testing.123_test")
pyspark
に私は列がid
と呼ばれてい。この表では
df.registerTempTable('mytempTable')
date=datetime.now().strftime('%Y-%m-%d %H:%M:%S')
に一時テーブルとしてこのdata frame
を登録しています。
from pyspark.sql import functions as f
(sqlContext.table("myTempTable").select(f.concat_ws(",", f.first(f.lit(date)), f.min("id"), f.max("id"))).coalesce(1).write.format("text").mode("append").save("/tmp/fooo"))
:
は今、私は
min_id = sqlContext.sql("select nvl(min(id),0) as minval from mytempTable").collect()[0].asDict()['minval']
max_id = sqlContext.sql("select nvl(max(id),0) as maxval from mytempTable").collect()[0].asDict()['maxval']
は、今私は、私は以下のように行っているHDFS
にファイルにdate
、min_id
とmax_id
を保存したいの下のような一時テーブルを照会したいです
HDFS
でファイルをチェックすると、NULL値がすべて表示されます。
ファイル出力はHDFS
です。
NULL,NULL,NULL
私が欲しいのは
Date,0,0
Here date is the current timestamp
どのように私は私が欲しいものを達成することができます。
を与える必要があり、私はしないでくださいあなたがここで何をしようとしているのかを理解する。なぜ空のテーブルを読んだらHDFSに 'Date、0,0'と書くのですか?もう少し詳しく教えていただけますか? – philantrovert
@philantrovertここでは、いくつかのテーブルのデータを 'HDFS'のディレクトリに保存しようとしています。テーブルにレコードがある場合はこれを行うことができますが、テーブルが空の場合は上記のシナリオに直面しています –
面白いです。 https://stackoverflow.com/a/44315328/3415409 – eliasah