awslabs / awslabs/aws-lambda-redshift-loader

Option to disable hive partitioning wild cards

オープン
#232 コメント 8 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
JavaScript
スター
595
フォーク
161
PR マージ指標
30日以内にマージされた PR はありません

説明

The avro files we are trying to load into RedShift are stored in folders with "=" in their names, i.e.

event_type=users.behaviors.app.FirstSession/.

When loading data from the following S3 prefix,

com.hoopladigital.brazecurrentsstaging/StagingCurrentFull/dataexport.prod-03.S3.integration.60d3692fcab9ca5f83919aab/event_type%3Dusers.behaviors.app.FirstSession

The lambda failed with this error:

error: No Configuration Found for com.hoopladigital.brazecurrentsstaging/StagingCurrentFull/dataexport.prod-03.S3.integration.60d3692fcab9ca5f83919aab/event_type=*/date=*/399/prod-03

As shown in the error message above, the"event_type=*/date=*" portion of the error message was transformed assuming that we are taking advantage of the hive partitioning wildcards (https://github.com/awslabs/aws-lambda-redshift-loader#hive-partitioning-style-wildcards) and replaces the event_type value with *.

We don't want to use this feature- I need the lambda to use the exact folder name that I provided in the prefix. Is there a way for me to configure the lambda to not use hive partitioning wild cards?

line 1584 of index.js:
inputInfo.prefix = inputInfo.bucket + '/' + searchKey.transformHiveStylePrefix();

line 78 of index.js
transformHiveStylePrefix()

コントリビューションガイド

コントリビューションガイドを開く

調査の方向性

transformHiveStylePrefix() が定義されている index.js の 78 行目と、inputInfo.prefix を変換している 1584 行目から始めます。プレフィックスがどのように設定されているかを追跡し、'=' を含むフォルダー名を保持できるオプションをどのように追加できるかを判断してください。オプションによって Hive スタイルのワイルドカード変換が無効になった場合に、指定されたプレフィックスがそのまま正確に使用されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
javascript
領域
cloud
issue の種類
機能追加
難易度
3/5
見積もり時間
1〜2日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。