Skip to content

Instantly share code, notes, and snippets.

@hammedb197
Last active August 24, 2022 12:24
Show Gist options
  • Select an option

  • Save hammedb197/2582f586587f06ede53d8c5f46cef2d4 to your computer and use it in GitHub Desktop.

Select an option

Save hammedb197/2582f586587f06ede53d8c5f46cef2d4 to your computer and use it in GitHub Desktop.
# pip install python-snappy
import snappy
import json
file_name = 'transact.snappy'
input_data = json.dumps([{'a': 1, 'b': 2}])
def compress_(snappy_file):
data = snappy.compress(input_data)
return data
def save_file(file_name):
data = compress_(input_data)
with open(file_name, 'wb') as f:
f.write(data)
save_file(file_name)
# pip install python-snappy
import snappy
import json
snappy_file = 'transactions-kinesis-staging-2.snappy'
def uncompress(snappy_file):
with open (snappy_file, "rb") as input_file:
data = input_file.read()
decompressor = snappy.hadoop_snappy.StreamDecompressor()
uncompressed = decompressor.decompress(data)
uncompressed = uncompressed.decode("utf-8")
data = uncompressed.replace("\"" , '')
return data
def save_file(file_name):
data = uncompress(snappy_file)
with open(file_name, 'w') as f:
# json.dump(data, f, indent=4, sort_keys=True)
f.write(json.loads(json.dumps(data, indent=4),))
file_name = 'transact.json'
save_file(file_name)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment