def METHOD_NAME(self):
    pipeline = self.__create_pipeline('test pipeline 2')
    variable1 = Variable(
        'var1',
        pipeline.dir_path,
        'block1',
        variable_type=VariableType.DATAFRAME,
    )
    variable2 = Variable('var2', pipeline.dir_path, 'block2')
    df1 = pd.DataFrame(
        [
            [1, 'test'],
            [2, 'test2'],
        ],
        columns=['col1', 'col2']
    )
    df2 = pd.DataFrame(
        [
            [1, 'test', 3.123, np.NaN],
            [2, 'test2', 4.321, np.NaN],
        ],
        columns=['col1', 'col2', 'col3', 'col4']
    )
    df2['col4'] = df2['col4'].astype('Int64')
    variable1.write_data(df1)
    variable2.write_data(df2)
    variable_dir_path = os.path.join(pipeline.dir_path, '.variables')
    self.assertTrue(os.path.exists(
        os.path.join(variable_dir_path, 'block1', 'var1', 'data.parquet'),
    ))
    self.assertTrue(os.path.exists(
        os.path.join(variable_dir_path, 'block1', 'var1', 'sample_data.parquet'),
    ))
    self.assertTrue(os.path.exists(
        os.path.join(variable_dir_path, 'block2', 'var2', 'data.parquet'),
    ))
    self.assertTrue(os.path.exists(
        os.path.join(variable_dir_path, 'block2', 'var2', 'sample_data.parquet'),
    ))
    assert_frame_equal(variable1.read_data(), df1)
    assert_frame_equal(variable1.read_data(sample=True, sample_count=1), df1.iloc[:1])
    assert_frame_equal(variable2.read_data(), df2)
    assert_frame_equal(variable2.read_data(sample=True, sample_count=1), df2.iloc[:1])