Array not looking smooth in render along a path
I think that:


Your curve has way too many vertices, so I guess it cuts your shape in small slices and annihilates the smoothing. You need to simplify it a lot: Convert it to mesh, delete most of the vertices with the Checker Deselect tool and Dissolve Vertices, come back to a curve, now in Edit mode, in the Tools panel, Set Spline Type to Bezier, and Set Handle Type to Automatic then Aligned.
Or simply redo a spirale with less vertices.
In the Properties panel > Data > Shape, give more Resolution to your curve. It has 12 by default but as it is a long curve you must increase the Resolution to 48.
Add some horizontal edge loops to your object so that its arrays can bend along the curve.