Frequency content Signal processing of very large files
Can I perform FFT on pieces of a very large signal, and then assemble
the results to obtain the FFT of the total signal?

This is the basis for the FFT algorithm, in that a large DFT can be more efficiently done as 2 DFT's each half the size (and so on and so on until the only thing left is 2 point DFT's).
(The efficiency comes about since a DFT requires on the order of $4N^2$ multiplications and $4N^2$ additions, while an $N$ pt DFT derived from two $N/2$ pt DFT requires only $4(N/2)^2 + 4N$ multiplications and $4(N/2)^2 + 4N$ additions.)
Below shows the combining approach for splitting the DFT into two separate DFT's, and the same approach can be continued further back dividing the blocks in half each time to whatever minimum size is desired.

The graphic above is given by the mathematical equation below showing the divide and conquer reduction as the basis for the FFT algorithm.
$$\sum_{n=0}^{N-1}x[n]W_N^{nk} = \sum_{r=0}^{N/2-1}x[2r]W_{N/2}^{rk} + W_N^k\sum_{r=0}^{N/2-1}x[2r+1]W_{N/2}^{rk}$$
Where $W_N^k = e^{-j2\pi k/N}$
Alternatively, individual FFT blocks could be averaged, but in this case it would be the magnitudes that would be averaged to result in a spectral smoothing but that would not improve the spectral resolution the way increasing the total time duration of the DFT as the process above provides. Averaging the blocks would be equivalent to adjusting the video bandwidth on a spectrum analyzer (post detection filtering), in that the noise floor would be smoothed, but not reduced, while increasing the total FFT time duration would be equivalent to adjusting the resolution bandwidth on a spectrum analyzer.