in meter-data/generate_meter_data.py [0:0]
def main(start, count):
# set variable for data generation
# total meter count - make sure this number is fully divisible by batch size i.e.
# total_meter_count/batch_size shouldn't be a float value. Otherwise some meters
# will be left without any data generated.
total_meter_count = count
start_date = dt(2019, 1, 1) # YYYY,MM,DD
end_date = dt(2019, 12, 31)
local_dir = 'data'
s3bucket = 'fake-meter-data-partitioned'
# generate and upload data in a batch size of below
batch_size = 1
# Error record generation initialization
initialize_error_record_generation(2, 3, dt.fromisoformat('2019-01-03T09:15:00'),
dt.fromisoformat('2019-01-03T15:25:00'))
starting_meter_no = start
ending_meter_no = starting_meter_no + (batch_size - 1)
while ending_meter_no <= total_meter_count:
generate_records(starting_meter_no, ending_meter_no, start_date, end_date, local_dir)
logging.info('Records generated for meter {} to {}'.format(starting_meter_no, ending_meter_no))
s3path = 'm' + str(starting_meter_no) + '-' + str(ending_meter_no)
# upload_to_s3(local_dir, s3bucket, s3path)
# empty_dir(local_dir)
starting_meter_no = ending_meter_no + 1
ending_meter_no = ending_meter_no + batch_size