0
JSONデータをフィルタリングして、選択したフィールドのみをファイルに取得し、後でこのファイルを使用してさらに解析する方法を教えてください。ハイブを使用した解析のためのJSONデータのフィルタリング
JSONデータをフィルタリングして、選択したフィールドのみをファイルに取得し、後でこのファイルを使用してさらに解析する方法を教えてください。ハイブを使用した解析のためのJSONデータのフィルタリング
あなたは
json_tuple()UDTFはハイブ0.7で導入されjson_tupleと側面図を使用する必要があります。これは、名(キー)とJSON文字列のセットを取り、値のタプルが一つの機能を使用して返す
CREATE EXTERNAL TABLE twitterdata
(
json STRING
)
LOCATION 'hdfs path';
場合はローカルのファイルシステム上のファイル
LOAD DATA LOCAL INPATH 'local path to file' [OVERWRITE] INTO TABLE twitterdata;
場合は、HDFS上のファイル
LOAD DATA INPATH 'hdfs path to file' [OVERWRITE] INTO TABLE twitterdata
さらなる分析を行うことができるターゲットテーブルの作成
CREATE EXTERNAL TABLE targettable
(
text string,
name string,
userid string
)
LOCATION 'hdfs path';
は今json_tuple完了
INSERT OVERWRITE TABLE targettable
select a.text
,a.name
,a.userid
from twitterdata t.json
LATERAL VIEW json_tuple (t.json,'text','name','userid')a
as text,name.userid;
を使用してデータをロードします!
お手数ですが、同じ入出力をご提供ください。 – Ambrish
私はTwitterのデータを分析しようとしています。私は「apache spark」のつぶやきを取得しました。私はtwitterからのつぶやきを含むファイルを持っています。 JSONデータにはfilter_level、retweeted、truncated、langなど多くのフィールドがあります。テキスト、名前、ユーザーIDなどのいくつかのフィールドのみをファイルに格納するようにフィルタをかけると、後で解析するためにそのファイルを使用できるようになります。 – Harshi