This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Override | |
public RelDataType deriveRowType() { | |
List<RelDataTypeField> fieldList = getTable().getRowType().getFieldList(); | |
RelDataTypeFactory.Builder builder = getCluster().getTypeFactory().builder(); | |
Arrays.stream(fields).forEach(field -> builder.add(fieldList.get(field))); | |
return builder.build(); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class AvroTableScan extends TableScan implements EnumerableRel { | |
private Integer[] fields; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class AvroEnumerator implements Enumerator<Object> { | |
private List<GenericData.Record> records; | |
private Integer[] fields; | |
private int pos; | |
public AvroEnumerator(List<GenericData.Record> records, Integer[] fields) { | |
this.records = records; | |
this.fields = fields; | |
this.pos = -1; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public Enumerable<Object> project(DataContext root, Integer[] fields) { | |
return new AbstractEnumerable<Object>() { | |
public Enumerator<Object> enumerator() { | |
return new AvroEnumerator(records, fields); | |
} | |
}; | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Override | |
public RelNode toRel(RelOptTable.ToRelContext context, RelOptTable relOptTable) { | |
int fieldCount = relOptTable.getRowType().getFieldCount(); | |
Integer[] fields = AvroEnumerator.identityList(fieldCount); | |
return new AvroTableScan(context.getCluster(), relOptTable, fields); | |
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
@Override | |
public RelDataType getRowType(RelDataTypeFactory relDataTypeFactory) { | |
JavaTypeFactory typeFactory = (JavaTypeFactory) relDataTypeFactory; | |
List<Pair<String, RelDataType>> ret = schema.getFields().stream().map(field -> { | |
Schema.Type avroFieldType = field.schema().getType(); | |
if (avroFieldType == Schema.Type.UNION) { | |
avroFieldType = getAvroNullableField(field); | |
} | |
RelDataType relDataType = AvroFieldType.of(avroFieldType).toType(typeFactory); |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class AvroSchema extends AbstractSchema { | |
private Map<String, Table> tableMap; | |
private File directory; | |
public AvroSchema(File directory) { | |
this.directory = directory; | |
} | |
@Override | |
public Map<String, Table> getTableMap() { |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package net.wrap_trap.calcite_avro_sample; | |
import org.apache.calcite.model.ModelHandler; | |
import org.apache.calcite.schema.Schema; | |
import org.apache.calcite.schema.SchemaFactory; | |
import org.apache.calcite.schema.SchemaPlus; | |
import java.io.File; | |
import java.util.Map; |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
from time import sleep | |
import os | |
import json | |
import threading | |
from flask import Flask, jsonify | |
from uwsgidecorators import postfork | |
import pystuck | |
pystuck.run_server(unix_socket='/tmp/utd-master') |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
const puppeteer = require('puppeteer'); | |
(async () => { | |
const browser = await puppeteer.launch(); | |
const page = await browser.newPage(); | |
await page.goto('https://www.google.com'); | |
await page.screenshot({path: 'screenshot.png'}); | |
await browser.close(); | |
})(); |