sai_tai
07/12/2021, 11:32 PMHeader Sequence of CSV file
headlinesMultiAssetResponsiveDisplay,longHeadlineMultiAssetResponsiveDisplay,responsiveSearchAdDescriptions,responsiveSearchAdHeadlines,imprAbsTop,currency,account,timeZone,activeViewAvgCPM,activeViewViewableCTR,activeViewViewableImpressions,activeViewMeasurableImprImpr,activeViewMeasurableCost,activeViewMeasurableImpr,activeViewViewableImprMeasurableImpr,adGroupID,adGroup,adGroupState,network,adStrength,adType,allConvRate,allConv,allConvValue,autoAppliedAdSuggestion,avgCost,avgCPC,avgCPE,avgCPM,avgCPV,avgPosition,businessName,callToActionTextResponsive,campaignID,campaign,campaignState,clicks,approvalStatus,convRate,conversions,totalConvValue,cost,costAllConv,costConv,costConvCurrentModel,finalURL,crossDeviceConv,ctr,conversionsCurrentModel,convValueCurrentModel,clientName,day,description,descriptionLine1,descriptionLine2,device,displayURL,engagementRate,engagements,customerID,gmailForwards,gmailSaves,gmailClicksToWebsite,gmailAdBusinessName,gmailAdDescription,gmailAdHeadline,ad,headline1,headline2,adID,imageAdName,impressions,interactionRate,interactions,interactionTypes,longHeadline,businessNameMultiAssetResponsiveDisplay,callToActionTextMultiAssetResponsiveDisplay,promotionTextMultiAssetResponsiveDisplay,path1,promotionTextResponsive,responsiveSearchAdPath1,shortHeadline,adState,imprTop,valueAllConv,valueConv,valueConvCurrentModel,videoPlayedTo100,videoPlayedTo25,videoPlayedTo50,videoPlayedTo75,viewRate,views,viewThroughConv,_sdc_customer_id,_sdc_report_datetime
the screencap is the header sequence when inserting data to AWS Athena table.andrew_stewart
07/13/2021, 1:24 AMtarget-csv-s3
, either https://github.com/dataops-tk/target-athena/issues/13 or https://github.com/dataops-tk/target-athena/issues/6sai_tai
07/13/2021, 9:33 AMandrew_stewart
07/13/2021, 3:45 PMandrew_stewart
07/13/2021, 3:45 PMsai_tai
07/13/2021, 4:02 PMsai_tai
07/13/2021, 4:02 PMandrew_stewart
07/13/2021, 4:03 PMandrew_stewart
07/13/2021, 5:56 PMsai_tai
07/13/2021, 9:33 PMsome-singer-tap | target-athena --config [config.json]
?
I haven't ever tried to develop any sign tap before.. I think that is a good exercise for me but I need some guidance hahasai_tai
07/13/2021, 9:34 PMModuleNotFoundError: No module named 'target_athena'
even I have used pip install .
to install the package.andrew_stewart
07/13/2021, 9:37 PMandrew_stewart
07/13/2021, 9:38 PMsai_tai
07/13/2021, 10:52 PMandrew_stewart
07/13/2021, 10:52 PMandrew_stewart
07/13/2021, 10:53 PMandrew_stewart
07/13/2021, 10:55 PMsai_tai
07/14/2021, 11:36 AMnosetests --where=tests/unit
. Did you face the same issue which is
AttributeError: module 'target_athena' has no attribute 'utils'
from tests/unit/test_unit.py ?sai_tai
07/14/2021, 12:06 PMsai_tai
07/14/2021, 2:56 PMclass AthenaSink(BatchSink):
def __init__(
self,
target,
stream_name,
schema,
key_properties,
):
andrew_stewart
07/14/2021, 6:39 PMandrew_stewart
07/14/2021, 6:39 PMandrew_stewart
07/14/2021, 6:39 PMandrew_stewart
07/14/2021, 6:40 PMaaronsteers
07/14/2021, 6:43 PMOne thing that I don't understand - Where did we define the schema for creating the AthenaSink object?
I thought the schema that we defined in tap-adwords should be the one that AthenaSink uses, but it seems to me it doesn't..Hi, @sai_tai - The SDK internal code handles receiving SCHEMA messages from the tap and initializing your Sink to handle any records it receives with the same stream name as the SCHEMA messages. So, as you are writing the Sink implementation, you can assume you are only handling records that correspond to the matched SCHEMA message and its containing info.
aaronsteers
07/14/2021, 6:44 PMaaronsteers
07/14/2021, 6:45 PMsai_tai
07/16/2021, 2:17 PM