Пример #1
0
    def test_flat_schema(self):
        state = State()
        state.merge({
            "bookmarks": {
                "stream_one": {
                    "timestamp": "2020-01-10T00:00:00.000000Z"
                }
            }
        })
        print(state)

        state.merge({
            "bookmarks": {
                "stream_one": {
                    "timestamp": "2020-01-11T00:00:00.000000Z"
                }
            }
        })
        print(state)

        state.merge({
            "bookmarks": {
                "stream_two": {
                    "timestamp": "2020-01-11T00:00:00.000000Z"
                }
            }
        })
        print(state)
Пример #2
0
    def __init__(self, logger, **kwargs):
        super(LoadJobProcessHandler, self).__init__(logger, **kwargs)

        self.truncate = kwargs.get("truncate", False)
        self.partially_loaded_streams = set()
        self.add_metadata_columns = kwargs.get("add_metadata_columns", True)
        self.validate_records = kwargs.get("validate_records", True)
        self.table_configs = kwargs.get("table_configs", {}) or {}

        self.INIT_STATE = kwargs.get("initial_state") or {}
        self.STATE = State(**self.INIT_STATE)

        self.rows = {}

        self.client = bigquery.Client(project=self.project_id,
                                      location=kwargs.get("location", "US"))
Пример #3
0
    def __init__(self, logger, **kwargs):
        super(BookmarksStatePartialLoadJobProcessHandler,
              self).__init__(logger, **kwargs)

        self.EMITTED_STATE = State(**self.INIT_STATE)
Пример #4
0
 def test_init(self):
     s = State(**{"a": 1})
     print(s)