def parse_and_execute(self, parsed_args: Dict): client = create_client_from_parsed_args(parsed_args) df_handler = DataFrameHandler() table_name = parsed_args['table-name'] in_file_path = parsed_args['input-file'] in_format = in_file_path.suffixes[0].replace('.', '') if parsed_args['file_format'] == 'infer' \ else parsed_args['file_format'] if in_format not in df_handler.allowed_format: raise ParseError( f'failed to infer file {in_file_path} format. ' f'Please give the exact file format instead of `infer`') converted_tmp_file = tempfile.NamedTemporaryFile(mode='w', suffix='.ndjson.gz', delete=False) convert_options = { 'read_input': in_file_path, 'write_output': converted_tmp_file.name, 'in_format': in_format, 'out_format': 'ndjson', 'convert_options': { 'compression': 'gzip' }, 'use_table_schema': api.get_table_schema(client, table_name) } df_handler = DataFrameHandler() df_handler.convert_file(**convert_options) converted_tmp_file.close() with open(converted_tmp_file.name, 'rb') as in_f: api.upload_binary_file(client=client, table_name=table_name, binary_file=in_f) converted_tmp_file.close() unlink(converted_tmp_file.name)
def parse_and_execute(self, parsed_args: Dict): table_name = parsed_args['table-name'] client = create_client_from_parsed_args(parsed_args) connection = create_sql_connecting_from_parsed_args(parsed_args) result_df = connection.execute_query_and_save_result( parsed_args['query']) inferred_schema = AitoTableSchema.infer_from_pandas_data_frame( result_df) converted_tmp_file = tempfile.NamedTemporaryFile(mode='w', suffix='.ndjson.gz', delete=False) DataFrameHandler().df_to_format(result_df, 'ndjson', converted_tmp_file.name, {'compression': 'gzip'}) converted_tmp_file.close() api.create_table(client, table_name, inferred_schema) with open(converted_tmp_file.name, 'rb') as in_f: api.upload_binary_file(client=client, table_name=table_name, binary_file=in_f) converted_tmp_file.close() unlink(converted_tmp_file.name) return 0
def parse_and_execute(self, parsed_args: Dict): client = create_client_from_parsed_args(parsed_args) table_name = parsed_args['table-name'] table_entries = load_json_from_parsed_input_arg(parsed_args['input']) api.upload_entries(client, table_name=table_name, entries=table_entries) return 0
def parse_and_execute(self, parsed_args: Dict): client = create_client_from_parsed_args(parsed_args) table_name = parsed_args['table-name'] if prompt_confirmation( f'Confirm delete table `{table_name}`? The action is irreversible', False): api.delete_table(client, table_name) return 0
def parse_and_execute(self, parsed_args: Dict): client = create_client_from_parsed_args(parsed_args) table_name = parsed_args['table-name'] table_schema = load_json_from_parsed_input_arg(parsed_args['input'], 'table schema') api.create_table(client=client, table_name=table_name, schema=table_schema) return 0
def parse_and_execute(self, parsed_args: Dict): in_f_path = parsed_args['input-file'] in_format = parsed_args.get('file_format') table_name = parsed_args.get('table_name') client = create_client_from_parsed_args(parsed_args) api.quick_add_table(client=client, input_file=in_f_path, input_format=in_format, table_name=table_name) return 0
def parse_and_execute(self, parsed_args: Dict): client = create_client_from_parsed_args(parsed_args) query_str = parsed_args['query'] query = json.loads(query_str) use_job = parsed_args['use_job'] client_method = getattr(api, self.api_method_name) resp = client_method(client=client, query=query, use_job=use_job) print(resp.to_json_string(indent=2)) return 0
def parse_and_execute(self, parsed_args: Dict): from_table = parsed_args['from-table'] predicting_field = parsed_args['predicting-field'] client = create_client_from_parsed_args(parsed_args) predict_query, evaluate_query = api.quick_predict_and_evaluate( client=client, from_table=from_table, predicting_field=predicting_field) print("[Predict Query Example]") print(json.dumps(predict_query, indent=2)) if parsed_args['evaluate']: evaluate_result = api.evaluate(client=client, query=evaluate_query) print("[Evaluation Result]") print( f"- Train samples count: {evaluate_result.train_sample_count}") print(f"- Test samples count: {evaluate_result.test_sample_count}") print(f"- Accuracy: {evaluate_result.accuracy}") return 0
def parse_and_execute(self, parsed_args: Dict): client = create_client_from_parsed_args(parsed_args) table_name = parsed_args['table-name'] api.optimize_table(client, table_name=table_name) return 0
def parse_and_execute(self, parsed_args: Dict): client = create_client_from_parsed_args(parsed_args) if prompt_confirmation( 'Confirm delete the whole database? The action is irreversible', False): api.delete_database(client)
def parse_and_execute(self, parsed_args: Dict): client = create_client_from_parsed_args(parsed_args) print(api.get_database_schema(client).to_json_string(indent=2)) return 0
def parse_and_execute(self, parsed_args: Dict): client = create_client_from_parsed_args(parsed_args) tables = api.get_existing_tables(client) print(*sorted(tables), sep='\n') pass
def parse_and_execute(self, parsed_args: Dict): client = create_client_from_parsed_args(parsed_args) api.rename_table(client, parsed_args['old-name'], parsed_args['new-name'], parsed_args['replace']) return 0
def parse_and_execute(self, parsed_args: Dict): client = create_client_from_parsed_args(parsed_args) api.copy_table(client, parsed_args['table-name'], parsed_args['copy-table-name'], parsed_args['replace']) return 0
def parse_and_execute(self, parsed_args: Dict): client = create_client_from_parsed_args(parsed_args) table_name = parsed_args['table-name'] print( api.get_table_schema(client, table_name).to_json_string(indent=2)) return 0
def parse_and_execute(self, parsed_args: Dict): client = create_client_from_parsed_args(parsed_args) database_schema = load_json_from_parsed_input_arg( parsed_args['input'], 'database schema') api.create_database(client=client, schema=database_schema) return 0