Using the constructor is a good way, but you would have to require each of the subclasses to call this constructor. You could also provide a setter method in the abstract class to pass in those parameters.
By the way, the fact that your DataSet class is abstract is completely irrelevant to this question. Remember that despite what you said,
I need to get some values from the DataSetRequestor class to the abstract class as initialization parameters.
you are not passing those values to the class. You are passing them to an object which is an instance of that class. So you would just use any suitable method for passing values into an object.