1. ホーム
  2. r

[解決済み] rHadoopClientで文字列にカンマを渡すには?

2022-02-25 20:42:58

質問

Hiveに格納されたテーブルをRに読み込みたいのですが、その過程ですべてのカンマを削除したいです(私のカラムが台無しにならないようにするために)。次のようなコマンドがあります。

rHadoopClient::read.hive( "select regexp_replace( a_column, ',', '$$$' ), regexp_replace( b_column, ',', '$$$' )  from a_table" )

以下のようなエラーが発生します。

FAILED: ParseException 1:63 line cannot recognize input near ',' ',' '35671' in select expression.
read.table( file=file, header = header, sep = sep, quote = quote, . ) でエラーが発生しました。

入力に利用可能な行がありません

rHadoopClient::read.hive 関数の結果はカンマ区切りのテーブルなので、クエリ内のカンマを変更することが不可欠です。

更新してください。 シングルクォートとダブルクォートを入れ替えると、問題が解決しました。

解決するには?

問題はカンマではありません。そうでなければ、どのように複数の列を選択するのでしょうか?

問題は引用符です。

外側は単数引用符で、内側は二重引用符で囲んでください。