2016-10-24 17 views
0

私は長い間問題で困っています。カフカで データは多少、次のようなものです:(Presto Kafkaコネクタ)構造化されていないメッセージを構造化されたメッセージに変換するにはどうすればよいですか?

presto:default> select _message from topic_2874_1 limit 5; 

2016-10-24 17:12:39,1200032544,IRC7D184YIF6,a44fb5306d966921dc6b0faa5395e6662fc58c43,1477300352,5.1.6,02:00:00:00:00:00,223.104.10.244,4,CTRadioAccessTechnologyLTE,223.82.245.18,238,62,inews.gtimg.com,/newsapp_ls,200,SDWebImageDownloader,11092,0,0,1,, 
2016-10-24 17:12:39,1200032544,IRC7D184YIF6,d41d8cd98f00b204e9800998ecf8427e36b64515,1477300347,5.1.6,02:00:00:00:00:00,183.38.234.248,4,WiFi,inews.gtimg.com,19,24,inews.gtimg.com,/newsapp_bt,200,QNImageLoaderRequest,51692,0,0,1,, 
2016-10-24 17:12:40,1200032544,IRC7D184YIF6,4df4c5a34cca33c14ce9e351f82fba32cc5336b5,1477300359,5.1.6,02:00:00:00:00:00,123.138.243.146,4,WiFi,113.200.90.144,24,18,inews.gtimg.com,/newsapp_ls,200,SDWebImageDownloader,14922,0,0,1,, 
2016-10-24 17:12:40,1200032544,IRC7D184YIF6,c32cedd56561780129d0967e1a7e6811d60f9ea4,1477300351,5.1.5,02:00:00:00:00:00,117.136.84.177,4,CTRadioAccessTechnologyLTE,183.232.121.140,227,1,r.inews.qq.com,/reportActualExpose,200,ASIFormDataRequest,29,0,0,1,, 

これは、JSONタイプが好きで、自然ではありません。カンマで区切られたすべてのフィールドは、同じ長さではない可能性が非常に高いです。どうすればこれらのログメッセージを将来のSQLクエリのための構造化データに変換できますか?私はkafkaコネクタに関する単語の前置きの文書を読んだが、解決策を得ることができなかった。

答えて

0

データのスキーマがわかっている場合は、トピック記述ファイル(Kafkaチュートリアルのステップ5と6):https://prestodb.io/docs/current/connector/kafka-tutorial.html#step-5-add-a-topic-decription-fileを設定できます。

基本的に、このトピック記述ファイルは、etc/kafkaのjsonファイルで、カフカのフィールドをPrestoの列にマップします。

注:RPMを使用してPrestoをインストールする場合は、kafka.table-description-dir=/etc/presto/kafkakafka.propertiesに設定してトピック記述ディレクトリを変更する必要があります。次に、テーブル記述ファイルは/etc/presto/kafkaにあるはずです。

関連する問題