iMind Developers Blog

iMind開発者ブログ

hadoop

Spark SQLのヒント文でINSERT OVERWRITE時のファイル数の制限

概要 Spark SQLでSELECTした値をINSERT OVERWRITEしようとした際にファイルが細かくsplitされてHDFSの容量をムダに喰ってしまうことがある。 Spark SQLではrepartitionヒント文を使うことで分割するファイル数を指定することができる。 バージョン情報 Spark…

PySparkでUDFを書く

概要 PySparkはUDF/UDAFが手軽に書けて便利。 バージョン情報 Python 3.7.3 Spark 2.4.3 サンプルデータ カンマ区切りの文字列が入ったカラムを用意して、それをsplitしたり戻したりといった処理をudfで実行してみる。 サンプルデータとしてA, B, Cの3つのカ…

PySparkでRDDからDataFrame変換時に型を指定する

概要 PySparkで整形したrddをtoDFしようとしたら下記のようなエラーが起きて怒られた。 ValueError: Some of types cannot be determined by the first 100 rows, please try again with sampling データを確認すると、処理結果の上位がNoneになっていて型の…

pyarrowによるPythonでのHDFS操作

概要 PythonでHDFSの操作をしたかったので、pyarrowに入っているclientを使ってみる。 類似のライブラリは他にもいろいろあるけど、pyarrowはその中でもメンテナンスが活発に行われている方なので安心感がある。 バージョン情報 Python 3.7.3 pyarrow==0.11.…

HBaseの情報をhiveで操作する

概要 HBaseに対してがっつりinsertやselectする際はhiveと連携させると楽だった。 バージョン情報 Hive 1.1.0 HBase 1.2.0 参考情報 https://cwiki.apache.org/confluence/display/Hive/HBaseIntegration keyとvalueだけを持つテーブルの生成 今回のサンプル…